React是按W3C实现的事件机制。使用react有一点很重要,就熟悉w3c规范。
class Child1 extends Component {state = { count: 0 }countClick = (e) => {const count = this.state.count + 1;this.setState({ count });e.ChildData = { count };}render() {return <span onClick={ this.countClick }>Child1的数是{this.state.count}</span>}};class Child2 extends Component {state = { count: 0 }render() {return <span>嵌套:{ this.props.children }</span>}};class App extends Component {appOnClick = (e)=>{console.log(e.ChildData);// 传出内部的数据}render() {return (<div onClick={ this.appOnClick }><Child2><Child1/></Child2></div>)}}export default App
使用e可以将 内部组件的state带出。
好处:内部可以维护state;
缺点:在外部绑定事件,并调用e.stopPropagation,最外层将无法获得数据。
