美文网首页
React专题4: 组件间通信

React专题4: 组件间通信

作者: ImmortalSummer | 来源:发表于2020-02-07 18:37 被阅读0次

父控件 传值 给子控件, 父控件可以将值 赋给子控件的一个属性(属性赋值)
子控件 传值 给父控件, 需要父控件将自己的回调函数绑定给子控件, 子控件通过回调这个函数, 将 值以参数的形式传给父控件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <script src="./bower_components/react/react.development.js"></script>
    <script src="./bower_components/react/react-dom.development.js"></script>
    <script src="./bower_components/babel/browser.js"></script>

<!-- 

    子组件 ==值==> 父组件  属性

    父组件 ==值==> 子组件  回调函数
 -->

    <script type="text/babel">
        class Child extends React.Component{
            constructor(...args){
                super(...args);
                this.childName = "小狗"
                
                this.props.fn(this.childName);
            }
            
            render() {
                return <div className='child'>this is child div, 接收到的父组件入参: {this.props.parameterFromFather}</div>
            }
        }

        class Father extends React.Component{
            constructor(...args){
                super(...args);
                this.fatherName = "大狗"
                this.state = {
                    parameterFromChild:''
                }
            }

            //这个函数绑定到子类控件, 子类控件可以通过 this.props.**(入参) 来回调这个函数, 得以将子控件的变量传到父组件当中来
            f_parameterFromChild(parameter){
                console.log("接收到从子组件传入参数", parameter);

                this.setState({
                    parameterFromChild:parameter
                });
            }
            render() {
                return <div className='father'>...this is father div
                    <Child parameterFromFather={this.fatherName} fn={this.f_parameterFromChild.bind(this)}/>
                    接收到的子组件入参:{this.state.parameterFromChild} 
                    </div>
            }
        }

        window.onload = function(){
            ReactDOM.render(
                <Father/>,
                document.getElementById('div1')
            )
        }

    </script>

    <style>
        .father{
            width: 400px;
            height: 200px;
            background-color: tomato;
        }
        .child{
            width: 360px;
            height: 40px;
            line-height: 40px;
            background-color: teal;
            margin: 20px;
        }
    </style>
</head>
<body>
    <div id="div1"></div>
</body>
</html>

效果如图:

组件间传值.png

相关文章

  • React专题4: 组件间通信

    父控件 传值 给子控件, 父控件可以将值 赋给子控件的一个属性(属性赋值)子控件 传值 给父控件, 需要父控件将自...

  • (1)React的开发

    1、React项目架构搭建2、JSX语法3、React组件化开发4、React组件间通信5、React中的事件6、...

  • React组件间通信

    不借助redux等状态管理工具的React组件间的通信解决方法 组件通信分类 React组件间通信分为2大类,3种...

  • React学习拾遗2

    组件间通信: 龟兔赛跑-React组件间通信Demo:http://js.jirengu.com/yowec/ed...

  • React Native 架构之 Redux介绍

    React 在 React 中,UI 以组件的形式来搭建,组件之间可以嵌套组合。另,React 中组件间通信的数据...

  • React父子组件间通信的实现方式

    React学习笔记之父子组件间通信的实现:今天弄清楚了父子组件间通信是怎么实现的。父组件向子组件通信是通过向子组件...

  • 「React Native」Event Bus,消息总线

    (一)父子间组件通信:   一般使用props,回调函数进行通信。(二)跨组件之间通信:  (1)React Na...

  • React组件间通信

    父组件向子组件 定义组件的方法就是通过React.createClass,当我们使用组件并且给其属性的时候,这个属...

  • react组件间通信

    React 开发模式是组件化开发, 所以组件间的信息传递就尤为重要,React传递数据的方式主要有3种。 prop...

  • react组件间通信

    react中的props和state props只读,用于组件之间传递信息,这个信息包括:数据和函数 state用...

网友评论

      本文标题:React专题4: 组件间通信

      本文链接:https://www.haomeiwen.com/subject/fzkvxhtx.html