当前位置: 首页 > news >正文

c 网站开发 视频教程软件公司

c 网站开发 视频教程,软件公司,在线域名查询,html5响应式网站开发教程可以跨组件传值 其实主要的就是三步 1、const xxx React.createContext();创建一个context 2、<xxx.Provider value{{ num, setNum }}>父组件设置要传递的值 3、const { num, setNum } React.useContext(xxx);子组件下使用 特点&#xff1a; 1、可以有多个xxx.Pr…

可以跨组件传值

其实主要的就是三步

1、const xxx = React.createContext();创建一个context

2、<xxx.Provider value={{ num, setNum }}>父组件设置要传递的值

3、const { num, setNum } = React.useContext(xxx);子组件下使用

特点:

1、可以有多个xxx.Provider

2、可以跨组件传递

3、可以传递多个值

store.js

import React from 'react'
const myContext = React.createContext(null);
export {myContext};

App.js

import { myContext } from "./store";
import React, { useState } from "react";
import Child from "./child1";
import Child2 from "./child2";
const App = () => {const [num, setNum] = useState(0);const [count, setCount] = useState(100);return (// 相当于是传了一个函数和属性过去,第一个{}是// jsx语法,第二个是对象,对象中含有俩属性<><myContext.Provider value={{ setNum, num }}><Child></Child></myContext.Provider><myContext.Provider value={{ setCount, count }}><Child2></Child2></myContext.Provider></>);
};export default App;

child2.js

import React, { useContext } from 'react'
import { myContext } from "./store";
export default function Child2() {const {count,setCount} = useContext(myContext);return (<div><div>我是另一个儿子组件</div><h1>{count}</h1><buttononClick={() => {// 使用setNum的方式 setCount((prev) => prev + 1);}}>添加</button></div>)
}

child1.js

import { myContext } from "./store";
import React, { useContext} from "react";
import GrandSon from "./grandSon";const Child = (props) => {const { setNum, num } = useContext(myContext);return (<><div>我是儿子组件</div><h1>{num}</h1><buttononClick={() => {// 使用setNum的方式 setNum((prev) => prev + 1);}}>添加</button><GrandSon num={num} /></>);
};export default Child;

grandSon.js(第一个孩子的子组件)

import { myContext } from "./store";
import React, { useContext } from "react";const GrandSon = (props) => {const { setNum, num } = useContext(myContext);return (<><h1>我是孙子组件</h1><h1>{num}</h1><buttononClick={() => {setNum((prev) => prev + 1);}}>添加</button></>);
};export default GrandSon;

1.当添加添加按钮时数据是同步变化的;
2.被另一个xxx.Provider包裹的子组件的数据是不受影响的,其数据是单独变化的。
在这里插入图片描述

http://www.mmbaike.com/news/97354.html

相关文章:

  • 中信建设有限责任公司 乔峰手机seo如何优化关键词排名
  • 北京赛车手机网站建设百度提交入口网址在哪
  • seo优化网站建设哪家好大冶seo网站优化排名推荐
  • 高中生沉迷哔哩哔哩怎么办电影站的seo
  • 天猫网站建设的意义seo的优化原理
  • 机器配件做外贸上什么网站有什么推广产品的渠道
  • 做动态网站的软件有哪些内容百度的代理商有哪些
  • 做美食网站的背景怎么推广自己的微信号
  • 武汉市二手房交易合同备案在那个网站上做呀网站首页布局设计模板
  • 帝国cms如何做电影网站电商运营培训机构哪家好
  • 重庆市住房城乡建设委员会官方网站网站优化排名技巧
  • 1.电子商务网站建设的核心是( )百度客户端
  • 怎么打击对手网站排名搜狗站长平台验证网站
  • wordpress Null天天seo站长工具
  • win服务器做网站网页设计模板html代码
  • 法院网站管理系统源码关键词搜索排名查询
  • wordpress目录图片不显示2023网站seo
  • 模型网站网络推广和网络销售的区别
  • 岗网站制作抖音推广渠道有哪些
  • 电子商务网站的建设流程是怎样的bing搜索引擎入口官网
  • 八年级信技做网站爱站网工具
  • 南京响应式网站设计适合30岁女人的培训班
  • 临汾网站建设系统优化工具
  • 西安企业网站seo快速排名优化方式
  • 网站建设基本流程规范长沙百度快速优化
  • 长沙建设企业网站奇葩网站100个
  • 网站建设培训机构哪里好网络营销在哪里学比较靠谱
  • 青州做网站电话佛山seo优化
  • 广州市做网站公司人员优化方案
  • 黄页网站推广app软件搜索关键词站长工具