我有一个 React Context 的默认状态,如下所示:
export const defaultState: UsersState = {
isModalOpen: false,
isCancelRequest: false,
companyId: 0,
users: []
};
当它使用的模式被取消时,我想将状态清除回默认值。这有效:
case RESET_STATE: {
return {
...state,
isModalOpen: false,
isCancelRequest: false,
companyId: 0,
users: []
};
}
但这不会:
case RESET_STATE: {
return {
state: defaultState
};
}
当上下文第一次被实例化时,这就是用户的样子:
users: Array[0]
但是当我使用后者的简化方法来重置状态时,它看起来像这样:
users: Array (empty)
至少,这就是我在 React DevTools 中看到的。
为什么设置state为defaultState不恢复users为Array[0]?
德玛西亚99
潇湘沐
相关分类