【问题标题】:can I unite states in React Redux?我可以在 React Redux 中统一状态吗?
【发布时间】:2021-05-25 16:38:08
【问题描述】:

我对产品有一个状态。用户可以选择任何产品并在购物清单中添加/删除。 在“productsKeys”中,我保留用户选择的 prod 中的密钥并将它们放置到 localStorage。 在“productsGotFromApiByKeys”中,根据“productKeys”中的键(卡路里、价格、信息)从 Api 请求中保存了数据 我不想将价格或其他信息保留在“productsKeys”状态作为信息或价格的原因可能会发生变化。问题在于代码重复。如果用户想要删除一个产品,它必须从两种状态中删除。我可以以某种方式将“productsKeys”和“productsGotFromApiByKeys”合二为一吗?

const initialState = {
   productsKeys: [],
   productsGotFromApiByKeys: []
}

【问题讨论】:

    标签: reactjs redux state


    【解决方案1】:

    您为什么不只保留带有产品对象的数组,其中一个属性是键,并且每当您添加/删除产品时,只需像这样将键保存到本地存储中

    localStorage.setItem('productKeys', JSON.stringify(products.map(p => p.key)))
    
    

    您可以在某处有一个useEffect 来响应商店中产品状态的变化,如果您可以提供更多代码,也许我可以尝试给出更具体的答案

    【讨论】:

    • 谢谢。无法猜测这种简单的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2019-04-22
    • 2020-06-21
    相关资源
    最近更新 更多