我正在尝试使用我的(相当简单的)React应用解决问题-到目前为止,我可以通过在需要的地方将数据整齐地传递给组件来避免将Redux用于全局状态管理。
但是,我遇到了一个主要问题:我有一些使用道具显示/隐藏的组件。在父级,我使用useState钩子这样:
const [localOrders, setLocalOrders] = useState([]);
我进行HTTP调用,然后使用setLocalOrders
并传递订单数据(然后将其映射/显示在页面和子组件上)。但是,我还有一个访问localOrders
的本地函数:
handleClose: (clearOrder) => {
setProcessOrderModal({
...processOrderModal,
redacted
});
if (clearOrder !== null) {
setLocalOrders(_.filter(localOrders, ({ order }) => (order.id !== clearOrder)));
}
},
在子组件中调用此代码时,localOrders
为空(设置为[]
)。我无法弄清楚如何访问仍然清楚地保存数据的实际状态数据(localOrders
)(例如页面上的订单列表仍然可见)。
答案 0 :(得分:0)
尝试一下
handleClose: (clearOrder) => {
if (clearOrder) {
setLocalOrders(state=> _.filter(state, ({ order }) => (order.id !== clearOrder)));
}
setProcessOrderModal(state => ({
...state,
redacted
});
}
},