美文网首页React基础
React拓展5-Context

React拓展5-Context

作者: 生命里那束光 | 来源:发表于2022-04-24 09:23 被阅读0次

Context:一种组件间通信方式, 常用于【祖组件】与【后代组件】间通信

  • Context 通过组件树提供了一个传递数据的方法,从而避免了在每一个层级手动的传递 props 属性。
  • props传值的缺陷:使用props属性进行组件向下传值的操作。当多个组件嵌套时候。你就需要慢慢逐层向上寻找初值。
相关API
  • React.createContext:创建一个上下文的容器(组件), defaultValue可以设置共享的
    默认数据
    const {Provider, Consumer} = React.createContext(defaultValue);
  • Provider(生产者):用于生产共享数据的地方。 value:放置共享的数据。
    <Provider value={/*共享的数据*/}> /*里面可以渲染对应的内容*/ </Provider>
  • Consumer(消费者): 接收Provider产生数据。
    Consumer需要嵌套在生产者下面。才能通过回调的方式拿到共享的数据源。
    当然也可以单独使用,那就只能接收到上文提到的defaultValue
    <Consumer> {value => /*根据上下文 进行渲染相应内容*/} </Consumer>

注意:在应用开发中一般不用context, 一般都用它的封装react插件

相关文章

  • React拓展5-Context

    Context:一种组件间通信方式, 常用于【祖组件】与【后代组件】间通信 Context 通过组件树提供了一个传...

  • react拓展

    setState() setState更新状态的2种方式 对象式的setState 函数式的setState 对象...

  • 拓展4 (React)

    以下读http://www.ruanyifeng.com/blog/2015/03/react.html 笔记 J...

  • 拓展 (React 4)

    React-redux 产生原因: 一个状态可能被多个组件依赖或者影响,兼顾组件之间共享状态问题和共享状态可能被任...

  • 拓展(React 2)

    为什么不直接从 JSX 直接渲染构造 DOM 结构,而是要经过中间这么一层呢? 第一个原因是,当我们拿到一个表示 ...

  • 拓展 React3

    一、高阶组件(Higher-Order Components) 高阶组件就是一个函数,传给它一个组件,它返回一个新...

  • react JSX语法

    jsx语法 概念:react定义的一种类似于xml的js拓展语法 作用:用来创建react的虚拟DOM对象的var...

  • react 学习笔记 使用 jsx 语法

    react 学习笔记 使用 jsx 语法 概念 JSX 是一种 JavaScript 的语法拓展。我们推荐 rea...

  • React Navigation BottomTab 拓展版

    默认支持了 badge 角标功能,移除了原版的 tabBarOptions 属性,将 tabBarOptions ...

  • React拓展4-Fragment

    Fragment 组件能够在不额外创建 DOM 元素的情况下,让 render() 方法中返回多个元素。 一个常见...

网友评论

    本文标题:React拓展5-Context

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