React setState()返回什么?

Yua*_*eng 11 javascript reactjs

我在this.setState()三元组内部使用并试图找出它返回的内容.该文档未提供有关其返回内容的任何信息.

Raj*_*esh 9

如前所述,

我不认为它会返回任何东西.它是一个二传手.

您可以参考setState文档来了解它的作用.

现在回答你的问题,因为react与Typescript密切相关,下面的代码来自index.d.tsreact文件.您可以在此处找到该文件,您可以在此处查看定义

setState<K extends keyof S>(f: (prevState: Readonly<S>, props: P) => Pick<S, K>, callback?: () => any): void;
setState<K extends keyof S>(state: Pick<S, K>, callback?: () => any): void;
Run Code Online (Sandbox Code Playgroud)

如您所见,两个定义都具有相同的返回类型:void.这是因为,首先,它是一个setter函数.其次,在大多数情况下,setState将触发重新渲染.所以你将无法做很多事情.

如果必须在setState之后进行一些处理,则可以将回调作为第二个参数传递.


Gun*_*her 2

React 的setState()函数缺少显式 return 语句,因此将返回undefined。如果您需要来自 的返回值setState(),则应该使用 来!!强制它返回false。希望有帮助