关于redux原则的几个问题
我读了一些关于redux的教程,但我仍然对redux有一些疑问: 1) 如果还原程序不改变状态,而是返回一个新状态,那么新信息是如何保存的 2) 当我更改数据时,最建议将API请求保留回服务器的位置是什么?减速机?商店?或者其他地方关于redux原则的几个问题,redux,Redux,我读了一些关于redux的教程,但我仍然对redux有一些疑问: 1) 如果还原程序不改变状态,而是返回一个新状态,那么新信息是如何保存的 2) 当我更改数据时,最建议将API请求保留回服务器的位置是什么?减速机?商店?或者其他地方 非常感谢 在还原器中,您总是复制当前状态,只更新克隆的状态。通常您会看到一个排列操作符: return { ...state, foo: 'new foo' } 如果我们一步一步地做到这一点: const newState = { ...state } // co
非常感谢 在还原器中,您总是复制当前状态,只更新克隆的状态。通常您会看到一个排列操作符:
return { ...state, foo: 'new foo' }
如果我们一步一步地做到这一点:
const newState = { ...state } // copy the current state
newState.foo = 'new foo'
return newState
您还可以使用Object.assign()
复制状态:
const newState = Object.assign({}, state)
所有其他信息将被保留,因为新状态总是从以前的状态复制而来
API请求通常由action创建者处理。因为它们是异步的,所以需要中间件来处理它们,比如
减速器应该是纯同步的,您不应该在减速器中发送API请求。如果您使用React,那么另一个调用API的地方就是您的组件。这样做完全没问题,尤其是你正在开发一个小应用程序。但大多数时候,您希望将UI和逻辑分开,这就是为什么我们使用动作创建者
对于异步动作创建者,您可以查看本章: