【发布时间】:2017-11-19 22:22:03
【问题描述】:
在 React 的 componentWillReceiveProps 函数中,如果我先检查 props 是否发生变化,是否可以进行 AJAX 调用?似乎这个函数可能在 React Fiber 中被多次调用(post 16 beta)并且这个博客(https://medium.com/@baphemot/understanding-reactjs-component-life-cycle-823a640b3e8d)建议不应该执行任何副作用。但是,我在 React 文档中没有看到这样的警告,我认为只有在 props 发生更改时才会调用 AJAX。
【问题讨论】:
-
那么为什么不在
componentDidUpdate中进行ajax 调用呢? -
@xDreamCoding,我正在使用这个 Redux 示例 github.com/reactjs/redux/blob/master/examples/async/src/…。我猜这是因为不需要使用任何 DOM 节点,所以尽可能早地进行 AJAX 调用,并在响应返回时调用 dispatch,此时重新发生渲染。
-
我认为你可以信任 reactjs 团队核心贡献者的 repo 示例。所以他们在那里所做的应该被认为是最佳实践,不是吗?我只是怀疑你能否在 Stackoverflow 上得到更好的答案。
-
@xDreamCoding,好吧,有时文档没有跟上最新版本,但对于像 React 这样的项目来说,这可能不太可能。谢谢。
标签: reactjs