在 ReactJS how/where 中,我是否会因为另一个动作的发生而触发一个执行异步获取的动作?

In ReactJS how/where do I trigger an action that performs an async get, on account of another action occurring?

我有一个反应问题需要帮助。我将 fluxxor 用于助焊剂,在我的 ui 中,我有一个列表,用户可以 select 从中更新 table 基于 select 离子。

所以我有一个包含列表 selection 和 table 数据的商店。我调用一个 ItemSelectedFromList 操作,该操作由商店侦听以更新其存储的 selection 值,并且 ui 重新呈现在屏幕上的令牌中显示更新的 selection。

我需要根据此 selection 存储值更改调用另一个操作来更新 table,这将异步获取数据并在完成后向存储分派 DataLoaded 操作。此 DataLoaded 操作是在商店 table 数据更新时分派的,视图将使用新的 table 信息重新呈现。

我的问题是,在商店更新 selection 值后,我应该在哪里调用第二个操作来更新 table?

商店可以调用另一个动作吗?最佳做法是什么?

我呈现 table 和 selection 令牌的组件只是通过 fluxxor getStateFromFlux 从父组件获取这些道具,后者从商店获取信息。

我是否应该在商店中添加一个 needToUpdateTable 标志,并让父组件在 getStateFromFlux 方法中为真时调用该操作?

感谢任何帮助。

我相信你可以,但我不知道你在 Fluxxor 中会怎么做。

我认为一个动作调用其他获取数据的动作是完全可以的,事实上,这正是像 Redux 这样的库所做的。

http://redux.js.org/docs/advanced/AsyncActions.html

一个例子。我想从服务器获取歌曲,我会发送操作 fetchSongs() 并且此操作会像这样代表我发送操作:

  • 我发送操作 fetchSongs()
  • action requestSongs() 代表我发送
  • 拨打 AJAX 电话
  • AJAX 调用 returns
  • 代表我发送动作 receiveSongs()