2016-12-01 3 views
2

У меня есть этот реагирующий компонент, который не является ES6 class. Это const как:reactjs: как определить componentDidMount внутри ES6 const?

import React from 'react'; 
import Dashboard from './components/Dashboard'; 

const Home = (props) => { 

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


    return <Dashboard />; 
} 

Внутри сопзЬ как я определить componentDidMount функцию, как я сделал бы в нормальном ES6 class? вот как я это делал раньше.

import React from 'react'; 
import Dashboard from './components/Dashboard'; 

class Dashboard extends React.Component { 

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

    render() { 
     return <Dashboard />; 
    } 

} 

ответ

3

Функциональные компоненты без гражданства не поддерживают методы жизненного цикла.

Вы можете либо преобразовать его в компонент с состоянием, либо обернуть его в контейнер с сохранением состояния.

Хороший пример упаковки, чтобы получить методы управления жизненным циклом:

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

+0

я не знал, что терминология (лица без гражданства). спасибо, что очищает вещи – bazi

+0

Спасибо, удачи –