React技术栈-组件间通信的2种方式

                                  作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

  所谓组件通信说白了就是数据的传递。我们可以通过React的props传递数据,当然,也可以使用消息队列来传递数据。

 

一.通过props传递数据

  共同的数据放在父组件上, 特有的数据放在自己组件内部(state)

  通过props可以传递一般数据和函数数据, 只能一层一层传递

  一般数据-->父组件传递数据给子组件-->子组件读取数据
  
  函数数据-->子组件传递数据给父组件-->子组件调用函数

 

二.使用消息发布(publish)-订阅(subscribe)机制

1>.下载支持消息发布订阅的库

  相比消息发布订阅大家应该都有所了解,我这里就不罗嗦了,Javascript也有专门支持消息发布订阅的工具库,名为PubSubJS。

  PubSubJS工具库的GitHub地址:
    https:
//github.com/mroderick/PubSubJS

React技术栈-组件间通信的2种方式

2>.下载PubSubJS工具库

C:\Users\yinzhengjie\WebstormProjects\myweb\my-react> npm install --save pubsub-js

React技术栈-组件间通信的2种方式

 

三.使用PubSubJS改写用户搜索案例的代码(https://www.cnblogs.com/yinzhengjie/p/12147675.html)

1>.项目组织架构不变

React技术栈-组件间通信的2种方式

2>.项目代码

import React,{Component} from 'react';

import Search from "./search";
import Main from "./main";

export default class App extends Component{

    render(){
        return (
            <div className="container">
                 <Search />
                 <Main />
                </div>
        )
    }
}
app.jsx文件内容

相关文章:

  • 2021-06-04
  • 2021-07-07
  • 2021-08-06
  • 2021-11-08
  • 2019-06-15
  • 2021-11-23
  • 2021-10-11
猜你喜欢
  • 2022-12-23
  • 2022-02-02
  • 2021-01-30
  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
  • 2021-07-26
相关资源
相似解决方案