【问题标题】:React componentDidMount does not fireReact componentDidMount 不会触发
【发布时间】:2020-08-07 19:46:37
【问题描述】:

我有一个反应组件,例如带有 componentDidMount 事件的函数。但根本没有触发。

function ItemsList() {

    return (
        <div>This is Items List component</div>
    )

    function componentDidMount(  )
    {
        alert('aaaaaaaaaaaaaaaaaaaaaaaaaaaa');
    }
}

谁能告诉我这个模式有什么问题?

【问题讨论】:

  • 关于类和函数组件请阅读官方文档:reactjs.org/docs/components-and-props.html
  • componentDidMount 和类似的生命周期方法是 React.Component 类的方法,您可以在自己的类组件中覆盖它们(这些从它继承)。但是你没有一个类,你只有一个名为 componentDidMount 的函数嵌套在一个函数中——React 对此没有任何特殊意义。如果你想在函数组件中使用等价物,你正在寻找useEffect Hook。

标签: javascript reactjs


【解决方案1】:

功能组件没有像componentDidMount 这样的生命周期方法。 您可以使用useEffect 钩子来模仿componentDidMount 的生命周期行为:

useEffect(() => {
        alert('aaaaaaaaaaaaaaaaaaaaaaaaaaaa');
}, [])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多