我在三元组中使用this.setState()
并试图找出它返回的内容。文档没有提供任何返回信息。
答案 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