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

React + Flux: how to update store if there is a state only can be determine after component render

我是FLUX/REACT的新手,有一些关于FLUX的问题。

场景如下:

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

按照FLUX的说法,数据流应该是单向的,存储在store中,但是我无法知道B渲染前的高度

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

我该怎么办?

为此,您的组件应从 ActionCreator 中分​​派一个具有新高度的 Action。

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

由于没有 material 组件响应的更改,它不会重新呈现并且您的流程将结束。

这是它的外观(View = Controller,忽略此流程的 API 框):

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