这个redux减速器可以吗

ris*_*pan 1 javascript immutability reactjs redux

这个减速器可以吗?

function someReducer(state = initialState, action) {
   if (action.type === SOME_ACTION) {
      const newState = Object.assign( {}, state );
      // ...
      // doing whatever I want with newState 
      // ...
      return newState;
   }   
   return state;
}
Run Code Online (Sandbox Code Playgroud)

如果可以,为什么我们需要所有这些不变的库来使我们的生活复杂化。

ps只是试图理解Redux和不变性

Nic*_*ies 5

export default function (state = initialState, action) {

  const actions = {
    SOME_ACTION: () => {
      return {
        ...state
      }
    },
    ANOTHER_ACTION: () => {
      return {
        ...state
        error: action.error
      }
    },
    DEFAULT: () => state;
  }
  
  return actions[action.type] ? actions[action.type]() : actions.DEFAULT(); 
}
Run Code Online (Sandbox Code Playgroud)

我更喜欢这样做。我不是switch语句的忠实拥护者。