入门React第二天(函数式组件传值)
常规传值
- 父 =》子
import React, { useState } from 'react'function Child(props) {return <h2>子组件{props.num}</h2>
}
export default function Father() {return <Child num={123}/>
}
- 子 =》父
function Child(props) {return (<><h2>子组件{props.num}</h2><button onClick={()=>props.changeNum(321)}></button></>)
}
export default function Father() {const [num, setNum] = useState(123)// 提供给子组件用来修改 num 的函数const changeNumFn = (num) => setNum(num)return <Child num={num} changeNumFn={changeNum}/>
}
跟 Vue 不同的地方是:
- 父传子没太大区别
- 子传父:
- Vue 是通过触发器将值传出,父组件对子组件进行监听
- React 是将处理函数传递给子组件
跨代传值
import React, { useState, createContext } from 'react'// 创建上下文空间 (Provider 提供者,Consumer 消费者)
const NumContext = createContext()function Child() {return (<NumContext.Consumer>{({num, setNum})=>{return (<><h2>子组件{num}</h2><button onClick={()=>setNum(456)}>修改Num</button></>)} }</NumContext.Consumer>)
}const Father() => <Child />// 顶级组件
export default function App() {const [num, setNum] = useState(123);return (<NumContext.Provider value={{num, setNum}}><Father></NumContext.Provider>)
}
可以使用 hooks 优化
import React, { useState, createContext, useContext } from 'react'// 创建上下文空间 (Provider 提供者,Consumer 消费者)
const NumContext = createContext()function Child() {const { num, setNum } = useContext(NumContext);return (<><h2>子组件{num}</h2><button onClick={()=>setNum(456)}>修改Num</button></>)
}const Father() => <Child />// 顶级组件
export default function App() {const [num, setNum] = useState(123);return (<NumContext.Provider value={{num, setNum}}><Father></NumContext.Provider>)
}
入门React第二天(函数式组件传值)相关推荐
- react函数式组件传值之父传子
今天我们主要说下react函数式组件如何进行父组件向子组件传值.在开发过程中,为了提高可读性或者复用性,我们会进行组件的拆分.先说下,我们在引入子组件时,子组件的名字一定要大写,否则会报错(这是个ba ...
- react讲解(函数式组件,react hook)
文章目录 前言 一.函数式组件 理解: 作用 代码示例: 函数组件注意事项 二.React hook React Hooks 优势 Hook 使用规则 2.常用的hook useState useEf ...
- 为什么react选择了函数式组件(剖析原理)
不好意思,这是知乎上我写的文章,就不再csdn发布了.如果需要阅读,请点击: 为什么react选择了函数式组件(剖析原理) 最近,发现知乎的连接出问题了,所以,暂时把内容放在此处.如果知乎上好了的话, ...
- react梳理之函数式组件
函数式组件的基本意义就是,组件实际上是一个函数,不是类 一.react的类组件 前端概念中的类 前端中实际上是没有类也没有继承的,但是我们后来也有了前端独有的一种类的模式,实际上我们都知道是语法糖 c ...
- React 学习之父子组件传值
父组件可以通过props.原型方法向子组件通信,子组件可以通过回调函数.事件冒泡向父组件通信. 1. 父组件向子组件通信 父组件向子组件传值之props方法: 父组件 import React fro ...
- react中类组件传值,函数组件传值:父子组件传值、非父子组件传值
父子组件传值.非父子组件传值: 类组件传值 父子 组件传值 子 传 父: 子组件:事件的触发sendMsg=()=>{this.props.person();}父组件:<Child per ...
- 第一章:Reac入门 与 第二章:React面向组件编程
目录 一.jsx语法规则 二.React中定义组件 1.函数式组件: 2.类式组件:*有关类复习的知识点前往React知识铺垫查看https://blog.csdn.net/m0_61927991/a ...
- React简介、虚拟DOM、Diff算法、创建React项目、JSX语法、组件、组件声明方式、组件传值props和state、组件的生命周期
React简介: 前面只是简单介绍移动APP开发,后面还会继续深入介绍移动app开发:其中想要用ReactNative开发出更出色的应用,那么就得学好React,下面将介绍React: React 是 ...
- react中函数式组件React Hooks
React Hooks 函数式组件 使用hooks理由 高阶组件为了复用,导致代码层级复杂 生命周期的复杂 写成functional组件,无状态组件,因为需要状态,又改成了class,成本高 在16. ...
- react 子传参父_React 子组件给父组件传值、整个组件、方法
一.准备工作 1.定义一个父组件,名字为Parent /src/component/Parent.js import React, {Component} from 'react' export de ...
最新文章
- probit概率单位回归分析
- 神经网络---Hessian矩阵
- Python教程:json中encode与decode区别
- Java8 CountDownLatch 源码分析
- 使用科大讯飞语音转文字的服务进行电话录音分析
- php mysql存中文,PHP+MySQL存储数据常见中文乱码问题小结
- Slog15_支配vue框架模版语法之v-else
- python黑帽子(黑客与渗透测试编程之道)
- SI24R1可以替代NRF24L01P软件硬件DIY兼容成功
- excel减法函数_在excel中进行减法7个例子,包括公式中带条件的减法
- 你好!编程!你好!世界
- java计算机毕业设计网上商城系统源码+系统+数据库+lw文档+mybatis+运行部署
- 电视剧《乡村爱情2》之演员表(ZT)
- bedtools subtract 基因区段取差集
- iOS APP 上架审核过程中常见问题整理
- 键盘的某些键坏了咋办(如delete键等)
- 部署JAX-WS Web服务作为战争中的Apache Tomcat(Deploying JAX-WS webservice as War in Apache Tomcat)...
- # 2021-01-03 #「Jenkins Pipeline」- expected to call xxx but wound up catching xxx
- 编写第一个JSP文件
- “华远新能源”:光伏产业链发展持续向好
热门文章
- 从头开始写项目Makefile(六):参数传递、条件判断、include
- POJ - 1182(种类并查集)
- python编写学生管理系统设计感想-python案例----学生管理系统(实现学员的增删改查功能)...
- 2.两数相加(leetcode-2)
- python 装饰器常见场景与用法
- Spark 按key聚合求平均值与占比
- scala implicit隐式转化与隐式参数
- 2003 -服务器没有响应,PowerPoint2003
- 第七届蓝桥杯省赛--方格填数--DFS或全排列
- oracle10修改时区,ORACLE10g时区配置错误问题