在哪里派遣数据加载?

时间:2018-01-22 19:11:22

标签: react-redux

我开始使用Redux,目前正在使用动作创建器,减速器等。我的容器设置为mapStateToProps,所有内容都按预期显示在我们的页面上。

我希望获得建议的一件事是在哪里实际派遣获取动作创建者。通过API调用检索数据并格式化并显示在页面上。现在我在构造函数中有调度:

constructor(props) {
   super(props);
   ...
   props.dispatch(fetchInfoBlah(someParamsFromRouter))
}

这是有效的,但我只是把它作为猜测,因为我在网上看到的大多数例子触发了一些触发/事件的结果,而不仅仅是组件需要加载的事实。我以前从componentDidMount()进行API调用。

有什么想法吗?

提前致谢!

2 个答案:

答案 0 :(得分:0)

完全取决于具体情况。

如果您需要在首次加载组件时显示数据/信息,请从构造函数中调用它。

如果您需要在用户与您的应用互动时显示/更新数据/信息,请根据用户操作进行调用。

componentDidMount()vs constructor()

componentDidMount()render()之后运行。因此,当您想要确保在组件呈现一次之后运行它时,将使用componentDidMount。这有助于提醒设置初始状态数据,否则render()

没有数据

constructor()componentWillMount()相同,并在render()之前运行。在内部构造函数中调用时,fetch响应在render()

之前或之后可用

答案 1 :(得分:0)

当我需要尽快获取数据时,我总是使用componentDidMount()

主要是因为我给这篇文章添加了书签,我已经引用了很多内容,到目前为止似乎对我有用了! https://engineering.musefind.com/react-lifecycle-methods-how-and-when-to-use-them-2111a1b692b1

相关问题