在哪个生命周期事件中,你会做出AJAX请求,为什么?
AJAX请求应该在componentDidMount生命周期事件中。
这有一些原因,
- Fiber,下一次实施React的对帐算法后,将有能力根据需要开始和停止呈现,以获得性能优势。其中一个取舍之一是组件 WillMount ,其他生命周期事件,它可能有意义的AJAX请求,将是“非确定性”。这意味着React可以在需要的时候开始调用componentWillMount在不同的时间。这显然是AJAX请求的一个坏的公式。
- 您不能保证组件挂载前的AJAX请求无法解决。如果这样做,那意味着你会试图在一个未安装的组件上设置StState,这不仅不会起作用,反而会让你大喊大叫。在componentDidMount中执行AJAX将保证有一个要更新的组件。