React setState()返回什么?

时间:2017-11-29 05:31:17

标签: javascript reactjs

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

2 个答案:

答案 0 :(得分:9)

如前评论,

  

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

您可以参考setState docs了解它的作用。

现在回答你的问题,因为react与Typescript紧密相关,下面的代码来自反应的index.d.ts文件。您可以找到文件here,然后查看定义here

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;

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

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

答案 1 :(得分:0)

setState() 返回未定义, 但如果你想“破解”它并返回 true

只需使用:

!!!setState({...}) //returns true