react 组件传值的三种方法
整理react组件传值三种方式
父组件向子组件传值(通过props传值)
子组件:
classChildrenextendsComponent{
constructor(props){
super(props);
}
render(){
return(
这是:{this.props.name}//这是父向子
)
}
}
父组件:
classAppextendsReact.Component{
render(){
return(
)
}
}
父组件向子组件传值(回调函数)
子组件
classChildrenextendsComponent{
constructor(props){
super(props);
}
handerClick(){
this.props.changeColor('skyblue')//执行父组件的changeColor并传参必须和父组件中的函数一模一样
}
render(){
return(
父组件的背景色{this.props.bgcolor}//子组件接收父组件传过来的值bgcolor
{this.handerClick(e)}}>改变父组件背景//子组件执行函数
)
}
}
父组件
classFatherextendsComponent{
constructor(props){
super(props)
this.state={
bgcolor:'pink'
}
}
bgChange(color){
this.setState({
bgcolor:color
})
}
render(props){
//给子组件传递的值color
{this.bgChange(color)}}/>
//changeColor子组件的参数=color当做形参
兄弟组件传值(子传给父,父再传给另一个子)
子组件1
classChildren1extendsComponent{
constructor(props){
super(props);
}
handerClick(){
this.props.changeChild2Color('skyblue')
//改变兄弟组件的颜色把changeChild2Color的参数传给父
}
render(){
return(
children1
{this.handerClick(e)}}>改变children2背景
)
}
}
子组件2
classChildren2extendsComponent{
constructor(props){
super(props);
}
render(){
return(
//从父元素获取自己的背景色
children2背景色{this.props.bgcolor}
//children2背景色skyblue
父组件
classFatherextendsComponent{
constructor(props){
super(props)
this.state={
child2bgcolor:'pink'
}
}
onchild2bgChange(color){
this.setState({
child2bgcolor:color
})
}
render(props){
{this.onchild2bgChange(color)}}/>
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。