代码之家  ›  专栏  ›  技术社区  ›  Mustkeem K

如何使用来自reducer的数据更新组件状态

  •  0
  • Mustkeem K  · 技术社区  · 6 年前

    假设我有一个子类别容器。js正在将道具传递给子类别。js现在还有另一个组件过滤器。子类别中导入的js。js。这个过滤器。js正在从子类别接收道具。js。数据来自商店。这里redux thunk正在异步更新存储。

    现在的问题是将道具置于过滤器状态。js。初始状态设置为空对象。即使我在componentWillReceiveProps方法中更新了状态,我也只会在render()中得到空对象,而不是应该包含道具数据的更新状态。

    这是触发方法的顺序。

    1.render() // initial data from redux reducer//
    2.componentWillReceiveProps()
    3.render() // new data by redux thunk
    

    在第3点,似乎componentWillReceiveProps()也应该触发,但事实并非如此。

    如何更新过滤器。新收到道具的js状态(道具->由thunk更新)

    我该怎么做。请帮忙。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Tommos    6 年前

    你确定吗 componentWillReceiveProps 真的被触发了吗?它只在道具实际发生变化时触发,而不是在最初安装组件且道具不发生变化时触发。您可能不想将状态初始化为空状态,而是要初始化为基于道具的状态。