子组件向父组件传参(不用redux)?

好比antd里的RadioGroup和Radio

<RadioGroup onChange={this.onChange} value={this.state.value}>
   <Radio value={1}>A</Radio>
   <Radio value={2}>B</Radio>
   <Radio value={3}>C</Radio>
   <Radio value={4}>D</Radio></RadioGroup>

是如何做到点击Radio的时候触发了onChange呢?


明月笑刀无情
浏览 812回答 1
1回答

哈士奇WWW

这个东西看下源码就知道了 通过Context传递Group:static&nbsp;childContextTypes&nbsp;=&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;radioGroup:&nbsp;PropTypes.any, };getChildContext()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;radioGroup:&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onChange:&nbsp;this.onRadioChange,//内部调用了this.props.onChange &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;&nbsp;&nbsp;}; &nbsp;&nbsp;}Radio:static&nbsp;contextTypes&nbsp;=&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;radioGroup:&nbsp;PropTypes.any, }; render(){&nbsp;&nbsp;&nbsp;&nbsp;//这里就获取到onChange事件了 &nbsp;&nbsp;&nbsp;&nbsp;radioProps.onChange&nbsp;=&nbsp;this.context.radioGroup.onChange; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript