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
我是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