ComponentDidMount 是否不适用于反应钩子?

时间:2021-03-04 19:53:21

标签: reactjs react-hooks

我一直在尝试在项目中使用 componentDidMount,但它似乎只在文件使用类时才有效,抱歉,如果这是一个愚蠢的问题。

3 个答案:

答案 0 :(得分:0)

根据 React 文档:

<块引用>

你不能在类组件中使用 Hooks,但你绝对可以 将类和函数组件与 Hooks 混合在一个树中。

您可以使用 useEffect 代替 componentDidMount,并使用一个空数组作为它的依赖项,这与组件挂载时运行代码的目的相同:

useEffect(() = > {
// ... code
}, []) 

答案 1 :(得分:0)

使用钩子,您可以使用 useEffect 来获得相同的结果。

这个会像 componentDidMount 一样工作

useEffect(() = > {
}, []) 

如果你把一个回调放在空数组中,那么当你使用那个回调时它会起作用

答案 2 :(得分:0)

以上答案:

使用钩子,您可以使用 useEffect 来获得相同的结果。 这个会像 componentDidMount 一样工作 useEffect(() = > { }, [])

是对的,除了: 如果您将回调放在空数组中,那么当您使用该回调时它会起作用

该空数组是您列出更改后将重新运行该函数的依赖项的位置。空数组使它只运行一次。