我一直在我的React应用程序中使用Redux,并且一直在困扰着我。 Redux的文档清楚地表明减速器应该是无状态的。你经常看到这样的例子:为什么Redux减速器必须是无副作用的?
function reducer(state = { exampleState: true }, action) {
switch(action.type) {
case "ACTION_EXAMPLE":
return Object.assign({}, state, { exampleState: false });
default:
return state;
}
}
我的问题是为什么这是必需的? JavaScript是单线程的。减速器内部不存在竞赛状况的可能性。据我所知,一个Redux商店只能够返回商店的当前状态,所以看起来奇怪的是,对纯功能的关注太多了。
不好意思,“减速机内部没有比赛条件的机会”是什么意思? – FurkanO
https://goshakkk.name/redux-side-effect-approaches/ – zloctb