美文网首页
React - 组件通信

React - 组件通信

作者: Enhoo_38ca | 来源:发表于2020-03-17 01:15 被阅读0次

一.利用props/函数传值

father.js

class Test extends Component {
    constructor(props) {
        super(props)
        this.state = {
            info: [1, 2, 4, 5, 6, 6, 7]
        }
    }
    ChangeShow = (props) => {
        console.log(props);// 可以获取child当中传来的参数
        this.setState({
            info: [] // 当前操作只是将父组件当中state 数组info清空
        })
    }
    render() {
        const { info } = this.state;
        return (  
            //info 输入state当中的info  onchange获取到子组件定义的方法
            <div>123<Child onChange={this.ChangeShow} info={info} /></div>
        )
    }
}

export default Test;

child.js

class ChildTest extends Component {
    constructor(props) {
        super(props)
        this.state = {}
    }
    handleChange = () => {
        this.props.onChange(123); // 在这就是向父组件changeShow中的props参数
    }
    render() {
        const { info } = this.props;
        return (
            <div>
                <div>child<i>{this.context.color}</i></div>
                <div onClick={this.handleChange}>点击</div>
                {info.map((item, index) => (
                    <div key={index}>{item}</div>
                ))}
            </div>
        )
    }
}

export default ChildTest;

二.利用Redux进行通信

redux/index.js

const  VIP_INFO = 'VIP_INFO';

const initState = {
  flagAvatar: false//全局控制显示修改头像弹框
}

// reducer
export function personalCenter(state = initState, action) {
  switch (action.type) {
     case AVATAR_FLAG:
        return { ...state, flagAvatar: action.flagAvatar }
     default:
        return state
  }
}
// actions creater
function avatarFlag(data) {
  return { type: AVATAR_FLAG, flagAvatar: data }
}
// 暴露方法
export function changeAvatarFlag(param) {
  return dispatch => {
     dispatch(avatarFlag(param))
  }
}

此系列文章,做本人查漏补缺用.

相关文章

  • React Native 的组件通信方式

    React Native 的组件通信方式 React Native 的...

  • 总结

    React组件之间的通信方式 1.父组件向子组件通信 React数据流动是单向的,通过props传递 2.子组件向...

  • React组件间通信

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

  • React Native 架构之 Redux介绍

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

  • (1)React的开发

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

  • react组件通信

    react组件通信是一个常用功能,在做react项目中经常遇到 React组件层级关系 在了解Reat组件通讯之前...

  • 干货博客集

    基础 webpack4.x 入门一篇足矣 react组件通信方式汇总 vue组件之间的通信 原生小程序组件通信 w...

  • React学习拾遗2

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

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

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

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

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

网友评论

      本文标题:React - 组件通信

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