首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >reactjs:如何在ES6常量中定义componentDidMount?

reactjs:如何在ES6常量中定义componentDidMount?
EN

Stack Overflow用户
提问于 2016-12-01 15:22:47
回答 2查看 10.1K关注 0票数 10

我有一个不是ES6 class的react组件。这是一个const,就像这样:

代码语言:javascript
复制
import React from 'react';
import Dashboard from './components/Dashboard';

const Home = (props) => {

    const componentDidMount = () => {
        console.log('component mounted'); // not working
    }


    return <Dashboard />;
}

在这个const中,我如何像在普通的ES6 class中那样定义componentDidMount函数?我之前就是这么做的。

代码语言:javascript
复制
import React from 'react';
import Dashboard from './components/Dashboard';

class Dashboard extends React.Component {

    componentDidMount() {
        console.log('component mounted');
    }

    render() {
        return <Dashboard />;
    }

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-01 15:40:43

无状态功能组件不支持生命周期方法。

您可以将其转换为有状态组件,也可以将其包装在有状态容器中。

包装获取生命周期方法的一个很好的例子:

https://egghead.io/lessons/javascript-redux-fetching-data-on-route-change

票数 8
EN

Stack Overflow用户

发布于 2022-01-24 11:51:49

对于其他像我一样学习React并在未来偶然发现这一点的人来说,这里可以接受的答案已经过时了。请查看此问题:componentDidMount equivalent on a React function/Hooks component?

如果使用React 16.8.0+,则可以使用钩子useEffect创建componentDidMount的效果

代码语言:javascript
复制
useEffect(() => {
  // Your code here
}, []);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40904770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档