在react中,回调函数作为setState()的一个参数有什么作用?

60 阅读3分钟

写一篇文章

注册

登录

寻找开发者和导师社区帖子博客注册登录

[

](www.codementor.io/projects?re…)

艾丽西亚-约翰逊

关注

在react中,回调函数作为setState()的参数有什么作用?

发表于2021年5月24日

从这里开始写......当setState完成后,回调函数被调用,组件被渲染。由于setState是异步的,回调函数用于任何后期动作。建议使用生命周期方法而不是这个回调函数。

setState({name: 'Amelia'}, () => console.log('The name has updated and component re-rendered') )。

setState回调函数用于在调用setState后在React组件中执行操作,如创建AJAX请求或抛出一个错误。

因此,你可能会遇到这样的情况:在状态有机会更新之前就执行部分代码。

我们可以使用setState函数的回调来解决这个特殊的React问题。无论我们传递给setState的第二个参数是什么,都会在setState函数更新后执行。

这就结束了在React中使用CallBack With setState的目的

什么时候不使用回调

文档中建议你使用生命周期事件。

这就是原因。

PureComponent和shouldComponentUpdate可以用来调整一个组件的性能。它们的作用是防止生命周期方法在道具和状态没有改变的情况下被触发。

无论shouldComponentUpdate返回什么,setState回调都会启动。因此,即使状态没有改变,setState回调也会启动。

不要害怕使用setState回调。它的存在是有原因的。但是当你这样做的时候,如果你看到任何转变,请留意shouldComponentUpdate。

ReactProgrammingCoding setstatePython

报告

喜欢这篇文章吗?如果有帮助,请给Alicia Johnson一个赞。

2

分享

艾丽西亚-约翰逊

关注

发现并阅读Alicia Johnson的更多文章

开始

喜欢这个帖子吗?

请为Alicia留下喜欢和评论

2

成为第一个分享您意见的人

支持GitHub口味的markdown

提交

显示更多回复