react 组件传值
通常组件之间的传值除了 localStorage、sessionStorage 以及利用 url 之前,就是状态管理,还可以直接的通过 组件之间相互的传值;
父组件传值子组件
父组件传值给子组件一般是利用 props 进行传值;就是在父组件中引用子组件的时候,在上边绑定一个属性,这个跟 vue 其实是一样的,只不过 vue 是直接通过 props 接收的,而 react 是在constructor 中,super 中接收 props 然后就可以直接通过 this.props 进行获得了;例如:
// 父组件<child-com data='这是父组件的值'>
// 子组件
class chidl extends React.Component {
constructor(props) { }
render(){
console.log(this.props.data)
return ()
}
}
子组件传值给父组件
在 react 中子组件传值给父组件是和 vue 一样的,都是通过回调函数的方式,只不过在 vue 中是通过 $emit 的方式,而在 react 中是通过 this.props 获取到父组件的方法,然后通过传参实现;例如:
// 父组件class parent extends React.Component {
constructor(props) {
this.state = {
data: ''
}
}
dataChange (data) { consle.log(data) }
render(){
return (
<child-com dataEvent={ data => this.dataChange(data) }>
)
}
}
// 子组件
class chidl extends React.Component {
constructor(props) { }
render(){
return (
<div onClick={() => this.props.dataEvent('这是子组件') }></div>
)
}
}
兄弟组件之间的传值
一般情况下兄弟组件之间的传值,如果有共同的父级组件就可以通过父级组件进行传值,或者是构造第三方父组件进行实现,但是对于多层的父组件传值这样就比较麻烦了,这样的情况一般情况下我们都会考虑使用状态管理或者 web 存储来实现
以上是 react 组件传值 的全部内容, 来源链接: utcz.com/z/381468.html