理想的放置"初始" React / Redux中的异步操作?

时间:2017-12-20 16:17:28

标签: reactjs redux react-redux

我已经参与过几个React / Redux项目,并且经常有一些组件需要以某种方式初始化,而这些组件是从服务器端发出的数据,所以通过某种异步调用。对开放式问题抱歉,但这种功能的理想触发点是什么?我有时会使用componentDidMount并在那里触发Redux操作以填充初始数据存储(操作将触发redux-thunk异步调用等)但是有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

componentDidMount通常是针对此类案例的建议。

componentWillMount是您的另一个选择。在很多情况下,它们的行为基本相同,但有几个原因,首选DidMount

  • 只是在语义上,使用WillMount可能会有点混乱。它可以给人一种异步请求在渲染发生之前解决的印象,但事实并非如此。由于请求是异步的,它会在任何时候解析,componentWillMount将在启动请求后返回,并且将进行渲染。使用DidMount可以使排序更清晰。
  • 如果服务器端呈现,componentWillMount将被调用两次,一次在服务器上,然后再次在客户端上。不会在服务器上调用componentDidMount。
  • 很长一段时间,有一些关于可能弃用componentWillMount的讨论。