React + Flux:如果有状态,如何更新存储只能在组件渲染后确定

时间:2015-10-14 10:51:33

标签: reactjs reactjs-flux flux

我是FLUX / REACT的新手,我对FLUX有一些疑问。

以下是该方案:

我有一家商店" A"和组件" B",将数据传递给" B"然后B渲染它,但在B渲染之后,我必须将它的HTML内容高度保存到某个地方(理想情况下,应该在" A")。

根据FLUX,数据流应该是单向的并存储在商店中,但我无法知道B渲染之前的高度。

对我来说,这就像一个悖论......

我该怎么办?

1 个答案:

答案 0 :(得分:1)

要完成此任务,您的Component应该使用新的高度从ActionCreator发送一个Action。

您的商店应该在Dispatcher中注册并相应地更新。然后,您的商店将发出您的组件应订阅的更改事件,并根据需要更新其状态。

由于组件无法进行重大更改,因此不会重新渲染,您的流程将会结束。

这是它在视觉上的外观(View = Controller,忽略此流程的API框): Flux Controller dispatching Actions

https://scotch.io/tutorials/getting-to-know-flux-the-react-js-architecture