react 父子数据共享(2)

Context

引用Context方法
const {Provider,Consumer}=React.createContext()   创建Provider,Consumer
const myContext=React.createContext() 此种使用时为<myContext.Provider>/<myContext.Consumer>

父组件

使用Provider包裹div  通过value传值   可不为对象

 return (
      <Provider value={{name:'zs',adress:'sd',count:this.state.count,}}> 
        <div>
          <Child1></Child1>
        </div>
      </Provider> 
    )

子/孙组件

Consumer  内创建一个回调函数  因为要用形参接收 Provider传来的值  然后return要渲染的数据         

return (
      <Consumer>
       {(value)=>{
          return (
            <div>
               {value.count}
            </div>
        )}}
      </Consumer>
    )

children(类似于vue中的插槽)

父组件

    <Child1>
         <h1>123</h1>
         <h1>321</h1>
    </Child1>

子组件

多个children会转为数组形式

<div>
     {this.props.children}   值为 123   321
     {this.props.children[1]}   值为 321
</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值