react学习(7)

简介: react学习(7)

1: 使用状态提升来实现兄弟组件通信
image.png

实现思路:借助“状态提升”机制,通过父组件进行兄弟组件之间的数据传递。父组件作为一个桥梁

//子组件A
function A({
   getName}){
   
  const name='A component name';
  return <button onClick={
   ()=>getName(name)}>点击</button>
}
//子组件B
function B({
   name}){
   
  return <div>B组件:{
   name}</div>
}
//父组件
function App(){
   
  const [name,setName] = useState('');
  const getName=(name)=>{
   
      setName(name);
  }
  return (<div>
      <A getName={
   getName}></A>
      <B name={
   name}></B>
  </div>)
}

2:使用Context实现跨层组件通信
实现步骤
1:使用createContext方法创建一个上下文对象Ctx
2:在顶层组件中通过Ctx.Provider组件提供数据
3:在底层组件通过useContext钩子函数消费数据。

import {
   createContext} from 'react';
const Ctx = createContext();
//父组件
function App(){
   
  const msg ='传递一个msg过去';
  return (<div> 
      <Ctx.Provider value={
   msg}>
        <A></A>
      </Ctx.Provider>
    </div>)
}
//子组件
function A(){
   
  const msg = useContext(Ctx);
  return <div>{
   msg}</div>
}
相关文章
|
6天前
|
JavaScript 前端开发
react学习(3)创建虚拟dom的两种方式
react学习(3)创建虚拟dom的两种方式
145 66
|
6天前
|
前端开发 JavaScript 算法
react学习(1)
react学习(1)
117 66
|
6天前
|
前端开发 JavaScript
react学习(5)
react学习(5)
163 59
|
6天前
|
前端开发
react学习(2)
react学习(2)
124 57
|
21天前
|
JSON 前端开发 JavaScript
|
4天前
|
前端开发 JavaScript 中间件
react学习(11)
react学习(11)
|
1天前
|
前端开发 JavaScript
react学习(13)props
react学习(13)props
|
4天前
|
前端开发 JavaScript
react学习(10)
react学习(10)
|
5天前
|
前端开发 JavaScript
react学习(8)
react学习(8)
|
6天前
|
前端开发
react学习(6)
react学习(6)

热门文章

最新文章