Можно создать компонент в React со следующим синтаксисом:
import React, { Component } from 'react';
import ChildComponentOne from './ChildComponentOne';
import ChildComponentTwo from './ChildComponentTwo';
class App extends Component {
constructor(props) {
super(props);
this.state = {
propOne : '',
propTwo : '',
propThree : '',
};
this.doThis = this.doThis.bind(this);
this.doThat = this.doThat.bind(this);
}
doThis() {
...doingThis code
}
doThat() {
...doingThat code
}
render() {
return (
<ChildComponentOne propOne={this.state.propOne} doThis={this.doThis}/>
<ChildComponentTwo propTwo={this.state.propTwo} propThree={this.state.propThree} doThat={this.doThat}/>
);
}
}
export default App;
Использует ли React этот синтаксис class , потому что они пытаются создать инкапсулированную и аккуратную нотацию для организациикомпоненты.И все остальное после того, как метод конструктора центрирован на React.
Или возможно написать что-то вроде этого:
App.prototype.doThis = function(){};
App.prototype.doThat = function(){};
function App(){
this.state = {
propOne : '',
propTwo : '',
propThree : '',
};
componentDidMount(){...somecode..}
componentWillUnmount(){...somecode..}
render(){
return (
<ChildComponentOne propOne={this.state.propOne} doThis={this.doThis}/>
<ChildComponentTwo propTwo={this.state.propTwo} propThree={this.state.propThree} doThat={this.doThat}/>
);
}
}
Я знаю, что я не слишком далеко, так как можно использовать толькообычная функция для создания так называемой functional component
.
Угадай вопрос, как использовать методы жизненного цикла ...