时间:2021-05-25
在学习 React 框架组件间数据传输知识点前,我们需要先明确几点使用原则。
父组件向子组件传递数据是通过在父组件中引用子组件时,在子组件标签设置传输数据的属性;而子组件中通过 this.props 接受传过来的数据;这样就实现了父组件向子组件的数据传输。
代码说明:父组件在使用子组件(Child)的过程中,对子组件传输了两个属性(age和name)和一个方法(callback 先不考虑)。
关键代码:
<Child name={this.state.name} age={this.state.age}></Child>代码说明:子组件中在 render 中直接使用 this.props 接受父组件传输的数据,并直接使用。不推荐子组件将接受到的数据,再使用this.setSate 方式处理。
关键代码:
<div>{this.props.name}</div><div>{this.props.age}</div>React 框架中子组件向父组件传输数据,要依赖于父组件向子组件传输数据。实际上就是父组件将自己作用域的函数传输给子组件;子组件调用该函数,并将要传输的数据,通过函数的参数的形式,传输给父组件。
上面的代码示例中,父组件中定义了函数,并将这个函数传输给了子组件。
class App extends Component {...... callback=(msg,name,age)=>{ // setState方法,修改msg的值,值是由child里面传过来的 this.setState({msg}); this.setState({name}); this.setState({age}); } render() { return ( <div className="App"> <Child callback={this.callback}></Child> </div> ); }}export default App;父组件将自己作用域的函数传递给子组件,子组件在通过 this.props 调用此函数的过程中,通过参数的方式将数据传输到组组件中。
这里父组件有三个形参:msg,name,age;子组件将数据传输过来后,父组件会将其使用 this.setState 方式处理。
子组件通过使用 this.props 接受到父组件传输过来的函数;并调用此函数通过参数的方法,传输数据给父组件。
class Child extends React.Component{...... change=()=>{ this.props.callback(this.state.msg,this.state.name,this.state.age); } render(){ return( <div> <button onClick={this.change}>点击</button> </div> ) }}export default Child;子组件中创建了一个方法 change(),此方法和点击事件 onClick 绑定;change() 方法中会调用 this.props.callback() 函数(父组件传输过来的函数);函数的实参就是子组件传输给父组件的数据。
以上就是详解React 父组件和子组件的数据传输的详细内容,更多关于React 父组件和子组件的数据传输的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
接着vue组件父与子通信详解继续学习。二、组件间通信(子组件传值给父组件)通过事件的方式来完成数据的传输。①在父组件中定义一个方法,用来接收子组件所通过事件传来
1、父组件向子组件传值父组件向子组件传值一般采用props属性传递父组件:importReactfrom'react'importChildfrom'./Chi
props是父组件用来传递数据的一个自定义属性。父组件的数据需要通过props把数据传给子组件,子组件需要显式地用props选项声明"prop"。父组件通过pr
一、组件间的数据传递1.父组件获取子组件的数据 *子组件把自己的数据,发送到父级*vm.$emit(事件名,数据);*v-on:@示例用法:当点击send按钮
通讯是单向的,数据必须是由一方传到另一方。1.父组件与子组件间的通信。在React中,父组件可以向子组件通过传props的方式,向子组件进行通讯。父组件App.