react 组件与组件之间通讯
生活随笔
收集整理的这篇文章主要介绍了
react 组件与组件之间通讯
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
首先需要项目中安装events 包: npm install events --save
在src下新建一个util目录里面建一个events.js
import { EventEmitter } from 'events';export default new EventEmitter();list1.jsximport React, { Component } from 'react';
import emitter from '../util/events';class List extends Component {constructor(props) {super(props);this.state = {message: 'List1',};}componentDidMount() {// 组件装载完成以后声明一个自定义事件this.eventEmitter = emitter.addListener('changeMessage', (message) => {this.setState({message,});});}componentWillUnmount() {emitter.removeListener(this.eventEmitter);}render() {return (<div>{this.state.message}</div>);}
}export default List;List2.jsx
import React, { Component } from 'react';
import emitter from '../util/events';class List2 extends Component {handleClick = (message) => {emitter.emit('changeMessage', message);};render() {return (<div><button onClick={this.handleClick.bind(this, 'List2')}>点击我改变List1组件中显示信息</button></div>);}
}
export default List2;APP.jsximport React, { Component } from 'react';
import List1 from './components/List1';
import List2 from './components/List2';export default class App extends Component {render() {return (<div><List1 /><List2 /></div>);}
}
react 兄弟组件如何调用对方的方法 https://segmentfault.com/a/1190000016764713
转载于:https://www.cnblogs.com/whlBooK/p/11207532.html
总结
以上是生活随笔为你收集整理的react 组件与组件之间通讯的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 使用ASP.NET AJAX异步调用We
- 下一篇: 前后端分离之JWT用户认证