103.《React,组件传值的三种方式》

父向子传值

Par (父组件)

import React from 'react';
class Parent extends React.Component{
	state = {
		num:0
	}
	render(){
		return (
			<div>
				<Child num={this.state.num} />
			</div>
		)
	}
}

Child (子组件)

class Child extends React.Compoent{
	render(){
		return {
			<div>父组件传递过来的数据:{this.state.num}</div>
		}
	}
}

子向父传值

Child (子组件)

class Child extends React.Component{
	state = {
		ChildData:"子组件的数据"
	}
	send = ()=>{
		this.state.getChildVal(this.state.ChildData)
	}
	render(){
		return(
			<div>这是子组件</div>
			<button onClick={this.send}>发送</button>
		)
	}
}

Parent(父组件)

import React from "react";
class Parent extends React.Component{
	state = {
		msg:""
	}
	getData = params =>{
		// 父组件传递过来的数据
		console.log(params)
		this.setState({
			msg:params
		})
	}
	render(){
		return(
			<div>这是父组件</div>
			<Child getChildVal={this.getData}/>
		)
	}
}

兄弟之间传值

Parent 父组件

import React from "react";

class Parent extends React.Component{
    state = {
    	count:""
    }
    getvalue = () => {
    	this.setstate({
    		count : this.state.count + 1
    	})
    }
	render(){
		return (
			<div>
				<Child1 num={this.state.count}/>
				<Child2 getval={this.getvalue}/>
			</div>
		)
	}
}

Child1(兄弟1)

class Child1 extends React.Component{
	render(){
		return (
			<div> 
				兄弟一:{this.props.num}
			</div>
		)
	}
}

Child2(兄弟2)

class Child2 extends React.Component{
	render(){
		return (
			<div> 
				兄弟二:
				<button onClick = {()=>{this.state..getval()}} >+1</button>
			</div>
		)
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值