【发布时间】:2016-05-06 07:09:35
【问题描述】:
我正在开发一个带有通量实现的反应应用程序。
我有一个绑定到组件的商店,并在ctor 中设置了一些默认(空白)状态值。在componentWillMount 中,我通过触发一些更新存储数据的操作来填充状态。
store 发出一个更改,组件通过将 store 数据的位放入 state 来处理该更改。
在我的 render 方法中,我希望渲染依赖于状态数据。
目前我有几个问题。
如果在我的
render方法中我执行类似 this.state.MyThing.AProperty 的操作,那么当 MyThing 尚未填充时,会过早调用渲染方法。这似乎发生在很多我希望渲染使用状态数据的地方。是否对此有明智的防范,还是我做错了?我正在使用存储来发出更改,并通过从存储中获取数据并将其设置为组件的
state来处理更改。我的想法是,如果我将其设置为状态,那么组件将知道在状态更改时重新渲染。它是否正确?还是我应该从发出处理程序的存储中获取数据并直接使用它?或将其设置为组件中的本地变量? 我问的原因是我似乎遇到了setState调用不是立即的问题,并且希望在设置状态后立即使用它。考虑到这一点,我似乎做错了。
任何想法都非常感谢。
【问题讨论】: