我应该在哪里调度操作以使用React-Native和redux获取我的数据

时间:2017-05-21 10:22:41

标签: reactjs react-native react-redux react-navigation

我想获取在react-native中显示我的应用程序的仪表板所需的所有数据。该应用类似于the facebook one

我正在使用react-native,redux,redux-saga,react-navigation和REST api。

我必须提取帖子列表以显示主页面,并为headerBar显示通知计数。其他标签页与主标签页同时安装,以允许流体过渡。因此,对于帐户页面

,我也需要当前用户

最后,商店会保留,应用程序可以长时间保持后台模式。所以我需要经常刷新我的数据以确保最后的更改。

我有传真调用和启动操作来更新商店。

我找到的策略是:

  1. 我可以连接每个页面组件,并为他们提供a + b,以便调用我在fetchAllPageData()
  2. 中调用的抓取操作
  3. 我可以连接较小的组件,以允许他们使用相同的策略(即。componentDidMount)将显示帐户中的用户的组件fetchUser提取到组件中显示通知数量......)
  4. 我可以使用创建一个redux-middleware来监听页面更改并调用所有获取数据操作。
  5. 我目前正在使用第一种和第二种解决方案,但我对此并不满意:

    • 我并不总是知道取数据的位置
    • 安装组件后刷新数据的策略有点" hacky"
    • 我经常在重构时调用

    这个主题的最新技术是什么?你的建议是什么?

2 个答案:

答案 0 :(得分:0)

通常的建议是拦截在中间件中发出AJAX请求的操作,并在传递结果之前解决它们。

This article更深入地解释了它。

答案 1 :(得分:0)

您可以/应该在componentDidMount或componentWillMount中执行。