English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой главе мы узнаем, как использовать события.
Это простой пример, где мы будем использовать только один компонент. Мы просто добавилиonClick
событиеupdateState
Как только нажмут на кнопку, событие вызовет функцию.
import React from 'react'; class App extends React.Component { constructor(props) {}} super(props); this.state = { data: 'Initial data...' } this.updateState = this.updateState.bind(this); }; updateState() { this.setState({data: 'Data updated...'}) } render() { return ( <div> <button onClick={this.updateState}>Нажми</button> <h4>{this.state.data}</h4> </div> ; } } export default App;
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(<App/>, document.getElementById('app'));
Это приведет к следующим результатам.
когда нам нужноstate
Когда обновляется родительский компонент из подкласса, в родительском компоненте можно создать обработчик событий (updateState
),и как prop (updateStateProp
)передается подклассу компонента, где мы можем его вызвать.
import React from 'react'; class App extends React.Component { constructor(props) {}} super(props); this.state = { data: 'Initial data...' } this.updateState = this.updateState.bind(this); }; updateState() { this.setState({data: 'Data updated from the child component...'}) } render() { return ( <div> <Content myDataProp={this.state.data} updateStateProp = {this.updateState}</Content> </div> ; } } class Content extends React.Component { render() { return ( <div> <button onClick={this.props.updateStateProp}>Нажми</button> <h3>{this.props.myDataProp}</h3> </div> ; } } export default App;
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(<App/>, document.getElementById('app'));
Это приведет к следующим результатам.