react 子传参父_React 子组件向父组件传值的方法

本文介绍了React 子组件向父组件传值的方法,分享给大家

子组件需要控制自己的 state, 然后告诉父组件自己的state,通过props调用父组件中用来控制state的函数,在父组件中展示子组件的state变化。

/***实现在输入框输入邮箱时,在div中即时显示输入内容***/

//子组件

var Child = React.createClass({

render: function(){

return (

邮箱:

)

}

});

//父组件

var Parent = React.createClass({

getInitialState: function(){

return {

email: ''

}

},

handleEmail: function(event){

this.setState({email: event.target.value});

},

render: function(){

return (

邮箱:{this.state.email}

)

}

});

React.render(

,

document.getElementById('test')

);

原理:

依赖 props 来传递事件的引用,并通过回调的方式来实现的,这样实现不是特别好,但在没有任何工具的情况下是一种简单的实现方式。

分析:

React中当state发生改变时,组件才会update。在父组件中设定state的初始值以及处理该state的函数,同时将函数名通过以props属性值的形式传入子组件,子组件通过调用父组件的函数,进而引起state变化,达到在父组件中展示子组件产生的变化。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-07-22

React 中,组件向父组件传值的常用方式是通过回调函数。下面是一个简单的示例,演示了组件向父组件传递值的过程: 组件: ```jsx import React, { useState } from 'react'; import ChildComponent from './ChildComponent'; const ParentComponent = () => { const [valueFromChild, setValueFromChild] = useState(''); const handleChildValue = (value) => { setValueFromChild(value); }; return ( <div> <h2>Value from child: {valueFromChild}</h2> <ChildComponent onChildValue={handleChildValue} /> </div> ); }; export default ParentComponent; ``` 组件: ```jsx import React, { useState } from 'react'; const ChildComponent = ({ onChildValue }) => { const [inputValue, setInputValue] = useState(''); const handleChange = (event) => { setInputValue(event.target.value); }; const handleButtonClick = () => { onChildValue(inputValue); setInputValue(''); }; return ( <div> <input type="text" value={inputValue} onChange={handleChange} /> <button onClick={handleButtonClick}>Submit</button> </div> ); }; export default ChildComponent; ``` 在这个示例中,组件包含一个状态 `valueFromChild`,组件包含一个输入框和一个按钮。当用户在组件的输入框中输入文本并点击按钮时,组件会调用组件传递的回调函数 `onChildValue`,将输入的值作为参数传递给父组件组件接收到这个值后,更新自己的状态 `valueFromChild`,并将其展示在页面上。 通过这种方式,组件可以将数据传递给父组件,实现了向父的值传递
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值