2017-09-07 7 views
0

私はreactとreduxを使用していますが、オブジェクトを{}に再度リセットする方法はありますか?状態を変更せずにオブジェクトを空にしますか?

export default function checkInReducer(state = initialState.user, action) { 
    switch (action.type) { 
     case types.GET_USER_SUCCESS: 
      return Object.assign({}, state, { 
       ...action.user 
       }); 

     case types.RESET_CHECKIN: 
      //what should I do here? simply return {} ? 

     default: 
       return state; 
    } 
} 
+0

あなたのアイデアを試してみましたか?単純な戻り値 '{}'はうまくいくはずです。あなたがそれを試しても何かエラー/問題はありますか? –

答えて

0

あなたのinitialState.user空のオブジェクトで言ったように:

export default function checkInReducer(state = initialState.user, action) { 
switch (action.type) { 
    case types.GET_USER_SUCCESS: 
     return Object.assign({}, state, { 
      ...action.user 
      }); 

    case types.RESET_CHECKIN: 
     return initialState.user 

    default: 
      return state; 
} 
} 
0

リデューサーでは、デフォルト状態をinitialState.userに設定しています。

checkInReducer(state = initialState.user, action) { 

ので、代わりに直接{}を返す/設定するので、あなたはこのように自分のイニシャル状態を返す必要があります。

case types.RESET_CHECKIN: 
return initialState.user || {} //if initialState.user is undefined then return {} 
+0

私のinitialState.userは{} –

+0

ですが、まだ '||'を使って偶発的な例外を処理しています –

関連する問題