Reactjs 我们为什么不在ComponentDidMount中设置状态

Reactjs 我们为什么不在ComponentDidMount中设置状态,reactjs,Reactjs,在这个代码沙箱中 我试图调用组件上的setState子组件上的didmount 这不是一个好的做法吗?为什么?如果不是,我们应该在哪里进行设置状态?何时可以在componentDidMount中进行设置状态 我在本文中看到,提到了在componentDidMount中获取数据 请建议这不是一个好的做法吗? 事实并非如此。当我们在componentDidMount中使用setState时,它将触发一个精确的render()调用,并且它发生在组件呈现之前,因此用户不会看到更改。而且有时可能会导致

在这个代码沙箱中

我试图调用组件上的setState子组件上的didmount

这不是一个好的做法吗?为什么?如果不是,我们应该在哪里进行设置状态?何时可以在componentDidMount中进行设置状态

我在本文中看到,提到了在componentDidMount中获取数据

请建议

这不是一个好的做法吗? 事实并非如此。当我们在componentDidMount中使用setState时,它将触发一个精确的render()调用,并且它发生在组件呈现之前,因此用户不会看到更改。而且有时可能会导致性能问题

何时可以在componentDidMount中设置状态 这通常发生在您从网络获取数据时,并且在成功获取数据后应设置state。

这不是一个好的做法吗? 事实并非如此。当我们在componentDidMount中使用setState时,它将触发一个精确的render()调用,并且它发生在组件呈现之前,因此用户不会看到更改。而且有时可能会导致性能问题

何时可以在componentDidMount中设置状态
这通常发生在您从网络获取数据时,并且在成功获取数据后应设置状态。

您可以在componentDidMount内设置状态

直接从文档中:

您可以在componentDidMount()中立即调用setState()。它将触发额外的渲染,但会在浏览器更新屏幕之前发生


他们警告说这可能会导致性能下降,并建议您最有可能在构造函数中设置组件的初始状态。

您可以在componentDidMount中设置状态

直接从文档中:

您可以在componentDidMount()中立即调用setState()。它将触发额外的渲染,但会在浏览器更新屏幕之前发生


他们警告说,这可能会导致性能下降,并建议您最有可能在构造函数中设置组件的初始状态。

componentDidMount
不推荐使用。改用
构造函数
。在
componentDidMount
中设置state不是一个好方法,因为它会重新呈现组件。相反,您可以在
render
中操作变量,这样它就不会渲染两次了。@Fawaz componentDidMount没有被弃用。@AdrianLineweaver感谢您的更正,实际上它是
componentWillMount
componentDidMount
被弃用的。改用
构造函数
。在
componentDidMount
中设置state不是一个好方法,因为它会重新呈现组件。相反,您可以在
render
中操作变量,这样它就不会渲染两次。@Fawaz componentDidMount不是不推荐的。@AdrianLineweaver感谢您的更正,实际上它是
componentWillMount