将React componentDidMount设置为async是一件坏事吗?

问题描述 投票:0回答:1

我经常把 async 前面的React方法 componentDidMount. (这让我可以使用 await 而非 .then() 在我的异步调用中)。)

这导致我的编辑器--IntelliJ--发出警告信息,称 Incompatible override, should have typed void.

我应该为这个警告失眠吗?

javascript reactjs intellij-idea
1个回答
3
投票

我不会担心这个问题。

一般来说,给一个函数一个返回类型为 void 只是表明函数的调用者不应该使用它的返回值。如果 componentDidMount 遵守了这一约定(它确实遵守了),那么它的返回值将永远不会被使用。所以,返回值是多少并不重要.

在这种情况下,如果你把它 async 然后它就开始返回一个 Promise 而不是 undefined. 如上所述,这种差异与调用者无关,所以你可以将方法做成 async 毫无问题。

© www.soinside.com 2019 - 2024. All rights reserved.