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>
}
相关文章
|
2月前
|
前端开发 JavaScript
React学习之——条件渲染
【10月更文挑战第16天】React 中没有像Vue中v-if这种指令。React 中的条件渲染和 JavaScript 中的一样,使用 JavaScript 运算符 if 或者条件运算符去创建元素来表现当前的状态,然后让 React 根据它们来更新 UI。
|
3月前
|
前端开发 JavaScript
学习react基础(3)_setState、state、jsx、使用ref的几种形式
本文探讨了React中this.setState和this.state的区别,以及React的核心概念,包括核心库的使用、JSX语法、类与函数组件的区别、事件处理和ref的使用。
87 3
学习react基础(3)_setState、state、jsx、使用ref的几种形式
|
3月前
|
前端开发 JavaScript
react学习(13)props
react学习(13)props
|
3月前
|
前端开发
学习react基础(2)_props、state和style的使用
本文介绍了React中组件间数据传递的方式,包括props和state的使用,以及如何在React组件中使用style样式。
39 0
|
1月前
|
前端开发 JavaScript 安全
学习如何为 React 组件编写测试:
学习如何为 React 组件编写测试:
40 2
|
2月前
|
资源调度 前端开发 JavaScript
React进阶学习
React进阶学习
16 1
|
2月前
|
JSON 前端开发 JavaScript
React 进阶阶段学习计划
React 进阶阶段学习计划
|
3月前
|
XML JavaScript 前端开发
学习react基础(1)_虚拟dom、diff算法、函数和class创建组件
本文介绍了React的核心概念,包括虚拟DOM、Diff算法以及如何通过函数和类创建React组件。
33 3
|
3月前
|
前端开发
react学习(17)回调形式的ref
react学习(17)回调形式的ref
|
3月前
|
前端开发
react学习(15)函数式组件中使用props
react学习(15)函数式组件中使用props