我正在尝试从Dan Abramov的课程中重新创建Redux示例。在应用程序级别传播{...store.getState()}
不起作用,Redux正在更改状态,React不会重新呈现。
当我用第123行替换第121行时,代码将引发错误。
完整代码在这里:https://github.com/asaadsaad/redux-react-code/blob/master/13-redux.html
状态对象:{ todos: [{id, text, completed}], visivility: 'ALL' }
这行工作正常:<TodoApp todos={store.getState().todos} visibility={store.getState().visivility} />
该行不起作用:<TodoApp {...store.getState()} />
为什么会这样呢?
最佳答案
您的combineReducer
部分有错字:
const appReducer = combineReducers({
todos: todos_reducer,
visivility: visibility_reducer
})
更改为:
visivility -> visibility
那么,为什么这与原始版本兼容?看到:
visibility={store.getState().visivility}
在这里,您正在将
store.getState().visivility
状态作为visibility
传递给您的应用程序。错字是靠运气修复的。但是,当您传播对象visivility
时,它照原样进行。关于javascript - react :…扩散问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52088118/