定义打字稿中功能组件的状态接口



带有钩子的功能反应组件不再是无状态组件。它可以具有状态,因此为功能组件定义状态接口是有意义的。

尽管TypeScript不会在此上丢任何错误/警告,但是可以定义它。

需要帮助做同样的帮助。

当您使用钩子时,状态不是存储在组件中,而是在组件上下文中的某个地方,并且在组件中访问了上下文CA。当您查看usestate钩的签名时,它说:

function useState<S>(initialState: S | (() => S)): [S, Dispatch<SetStateAction<S>>];

,这意味着您的状态是从其初始值推断的。如果您想超级显式,可以将通用传递给该功能:

const [s, setS] = useState<{stateShape: StateShape}>({});

,但是正如我所说的。组件仍然无状态,因为状态未存储在组件中。

最新更新