赞
踩
说明:通过Context机制跨层级组件通讯。父传子。
说明:使用createContext方法创建实例对象;顶层组件通过实例对象上面的Provider组件提供数据;底层组件中通过useContext钩子函数获取数据。
const MsgContext=createContext()
- // 顶层组件
- function App() {
- const msg='this is app msg'
- return (
- <div>
- {/* 上下文允许组件之间共享数据,而无需通过逐层传递属性(props) */}
- <MsgContext.Provider value={msg}>
- this is app
- <Son1></Son1>
- </MsgContext.Provider>
- </div>
- );
- }
- function Son2() {
- const msg=useContext(MsgContext)
- return <div>
- this is son2,{msg}
- </div>;
- }
- // 实现步骤:
- // l.使用createContext方法创建一个上下文对象Ctx
- // 2.在顶层组件(App)中通过Ctx.Provider组件提供数据
- // 3.在底层组件(B)中通过useContext钩子函数获取消费数据
-
- import {createContext, useContext} from 'react'
- const MsgContext=createContext()
-
-
-
- function Son1() {
- return <div>
- this is son1
- <Son2></Son2>
- </div>;
- }
- function Son2() {
- const msg=useContext(MsgContext)
- return <div>
- this is son2,{msg}
- </div>;
- }
- // 顶层组件
- function App() {
- const msg='this is app msg'
- return (
- <div>
- {/* 上下文允许组件之间共享数据,而无需通过逐层传递属性(props) */}
- <MsgContext.Provider value={msg}>
- this is app
- <Son1></Son1>
- </MsgContext.Provider>
- </div>
- );
- }
-
- export default App;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。