props、context、发布/订阅。
标准回答
React中组件之间的传值方法有很多,按照不同的组件间关系可以把组件传值的方法分为父子组件传值,跨级组件传值和非嵌套关系组件传值。父子组件常用的传值方法是当父组件给子组件传值时通过props,子组件向父组件传值通过回调函数来传值。跨级组件常用的传值方法是props一层一层的传,或者使用context对象,将父组件设置为生产者而子组件都设置对应的contextType即可。非嵌套关系组件传值的方法是使用共同的父级组件进行props传值,或者通过context传值,推荐使用发布/订阅的自定义事件传值。
加分回答
React中组件间传值方法有很多,按照不同的组件间关系可以把组件间传值的方法分为:
自定义事件传值方法:
A.js componentDidMount() { this.eventEmitter = emitter.addListener('call',(msg) => { this.setState({ msg }) }) } componentWillUnmount() { emitter.removeListener(this.eventEmitter) } B.js call = () => { emitter.emit('call','It's me!) }
自定义事件通过向事件对象上添加监听器和触发事件来实现组件间传值。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
得分点
props、context、发布/订阅。
参考答案
标准回答
React中组件之间的传值方法有很多,按照不同的组件间关系可以把组件传值的方法分为父子组件传值,跨级组件传值和非嵌套关系组件传值。父子组件常用的传值方法是当父组件给子组件传值时通过props,子组件向父组件传值通过回调函数来传值。跨级组件常用的传值方法是props一层一层的传,或者使用context对象,将父组件设置为生产者而子组件都设置对应的contextType即可。非嵌套关系组件传值的方法是使用共同的父级组件进行props传值,或者通过context传值,推荐使用发布/订阅的自定义事件传值。
加分回答
React中组件间传值方法有很多,按照不同的组件间关系可以把组件间传值的方法分为:
延伸阅读
自定义事件传值方法:
自定义事件通过向事件对象上添加监听器和触发事件来实现组件间传值。