我爱编程

【react】父子组件之间通讯props

2018-08-09  本文已影响0人  Elliott_d3ae

实现父子组件双向数据流整体的思路是:

1,父组件可以向子组件传递props,props中带有初始化子组件的数据,还有回调函数

2,子组件的state发生变化时,在子组件的事件处理函数中,手动触发父函数传递进来的回调函数,同时时将子组件的数据传递回去(有时间研究)

父组件

父组件中定义一个函数,包含一个props的参数,函数内利用super(props)传递给子组件,this.state中用于定义本页面中要用到的以及要传递给子组件的变量。

父组件的render函数中利用此种形式传递给子组件

(ps:此例子中也包含组件之间的嵌套,同时组件的名称开头字母必须大写,不然会报错)

import React from'react';

import Footer from'./footer.js'

import Table from'./table.js'

classpagedemoextendsReact.Component{

constructor(props) {

super(props);

this.state = { list: [{'id':'1','title':'123','time':'2017','person':'cheny0815','type':'type','operation':'operation'},{'id':'2','title':'456','time':'2017','person':'cheny0815','type':'type','operation':'operation'},{'id':'3','title':'789','time':'2017','person':'cheny0815','type':'type','operation':'operation'}] } }

render() {

let list =this.state.list;

return(

  <div className="content">
        <div className="content_main">
            <Table list={list}/>  //组件之间的通讯
        </div>
      </div>

);
}}
exportdefaultpagedemo;

子组件(table.js)

子组件调用父组个传递过来的参数,并进行传值

上一篇下一篇

猜你喜欢

热点阅读