react传值,父传子

 原理:

1、在input添加属性ref="ipt",如下

 2、constructor里面添加状态str

constructor(props){
		super(props)
		this.state={
			str:''
		}
	}

3、点击时获取input值,然后通过设置状态,把值添加给str

tap(){
		 this.setState({str:this.refs.ipt.value})
		 this.refs.ipt.value=''
	}

 4、子组件通过接收父组件的str

5、子组件内部通过this.props.name接收<Child/>属性的值


render(){
		return(
			

父组件


) }











	

 js

class Parent extends React.Component{
	constructor(props){
		super(props)
		this.state={
			str:''
		}
	}
	tap(){
		 this.setState({str:this.refs.ipt.value})
		 this.refs.ipt.value=''
	}
	
	render(){
		return(
			

父组件


) } } class Child extends React.Component{ constructor(props){ super(props) } render(){ return(

子组件

接收父组件数据--{this.props.name}

) } componentWillReceiveProps(a){ console.log(a) console.log('组件即将接受新值') } shouldComponentUpdate(a){ console.log(a) if(a.name=='hello'){ return true }else{ return false } } componentWillUpdate(){ console.log('组件即将更新') } componentDidUpdate(){ console.log('组件更新success') } } ReactDOM.render(,document.getElementById('out'))

 

你可能感兴趣的:(react,React)