我的代码是
const state = getState();
var drag_trips = state.sale.drag_trips;
drag_trips[0].deliveries.push(delivery);
当我更改变量drag_trips时,它会自动更改状态而不进行调度。
我想存储和更新状态,最后我将它存储在另一个状态
答案 0 :(得分:0)
这是因为对象是可变的。当您在阵列上.push
时,您正在从getState()
更改实际状态,而不是修改副本。
通过执行var drag_trips = state.sale.drag_trips.slice()
答案 1 :(得分:0)
你不应该mutate
这个州。状态应为immutable
,并且应始终通过redux reducers计算。
此时你应该只从国家读取。
在您的情况下,使用redux action
作为有效负载调度delivery
,并通过将其添加到状态来在reducer
中捕获它将是最佳选择。
请参阅todo示例。