为什么不在 React ES6 类构造函数中进行 AJAX 调用?

5 javascript ajax reactjs

阵营的文档说我应该做AJAX调用设置componentDidMount()的状态,而不是构造函数。根据我看到的所有示例,这就是我应该如何从服务器加载数据:

constructor() {
    super();
    this.state = {toDoItems: []};
}

componentDidMount() {
    loadToDoItems()
        .then(items => this.setState({toDoItems: items}));
}
Run Code Online (Sandbox Code Playgroud)

为什么不直接在构造函数中加载服务器数据,像这样?:

constructor() {
    super();
    loadToDoItems()
        .then(items => this.state = {toDoItems: items});
}
Run Code Online (Sandbox Code Playgroud)