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

成都网站推广公司小羚羊网站怎么建设

成都网站推广公司,小羚羊网站怎么建设,手机app设计网站,wordpress自动添加动态内容1、Context 使用creatContext() 和 useContext() Hook 实现多层级传值 概述#xff1a; 在我们想要每个层级都需要某一属性#xff0c;或者祖孙之间需要传值时#xff0c;我们可以使用 props 一层一层的向下传递#xff0c;或者我们使用更便捷的方案#xff0c;用 creatC…1、Context 使用creatContext() 和 useContext() Hook 实现多层级传值 概述 在我们想要每个层级都需要某一属性或者祖孙之间需要传值时我们可以使用 props 一层一层的向下传递或者我们使用更便捷的方案用 creatContext() 和 useContext() 进行隔代之间传值这种情况下我们只需要在使用的组件中书写而不用每一层级都进行书写 使用中注意事项 a、必须使用 Provider 组件必须使用 value 接收要传递的 属性 b、下级会向上找最近 的 Provider 获取其传入的 value c、传入的 value 可以是任意类型的属性 extport default function MyPar(){return(MyCom.Provider value{属性}/MyCom.Provider/) }1.1、基本用法实现上下级数据共享 首先创建通用 ComContext文件 import { createContext } from react; // 创建一个 UserInfoContext 组件 export const UserInfoContext createContext()其次创建最终使用组件 UserInfo import {useContext} from react import { UserInfoContext } from ./ComContext export default function UseInfo() {// 通过 useContext Hook 接收上级 UserInfoContext 传入的内容总是获取距离最近的 Provider 的 value 值const userInfo useContext(UserInfoContext)console.log(userInfo, userInfo)return (divh3用户信息/h3p名称{userInfo.name}/pp年龄{userInfo.age}/p/div) }最后在父组件中调用上面两个组件 import { UserInfoContext } from ./ComContext import UseInfo from ./UseInfo export default function MyContext2() {const userInfo {name: Andy,age: 18}return (h2第一级/h2{/* 将普通对象传给下级 */}UserInfoContext.Provider value{userInfo}{/* 这里 不管写多少个 UseInfo 组件都可以接收到 传入的 userInfo 对象 */}UseInfo/UseInfoUseInfo/UseInfoUseInfo/UseInfo/UserInfoContext.Provider/) }1.2、Context 与 useState() 使用 通过 useState() 动态修改 userInfo 数据 import { useState} from react import { UserInfoContext } from ./ComContext import UseInfo from ./UseInfo export default function MyContext2() {const [userInfo, setUseInfo] useState({name: Andy,age: 18})const hanldeChangeUserInfo () {setUseInfo({...userInfo, name: ${userInfo.name} 1})}return (h2第一级/h2button onClick{hanldeChangeUserInfo}修改name/buttonUserInfoContext.Provider value{userInfo}{/* 在下级接收的 userInfo 会实时更新 */}UseInfo/UseInfo/UserInfoContext.Provider/) } 1.3、Context 树形结构示例 文件目录 声明levelContext文件 import { createContext } from react; export const LevelContext createContext(0)声明 HeadTitle文件 import { useContext } from react import { LevelContext } from ./LevelContext; export default function HeadTitle({children}) {// 使用 LevelContextconst level useContext(LevelContext){switch(level) {case 1:return h1{第${level}级}/h1case 2:return h2{第${level}级}/h2case 3:return h3{第${level}级}/h3case 4:return h4{第${level}级}/h4case 5:return h5{第${level}级}/h5}} } 声明 ContMain 文件 这里使用 nanoid 插件生成随机id需要自行安装 yarn add nanoid import React, { useContext } from react import HeadTitle from ./HeadTitle import { LevelContext } from ./LevelContext import { nanoid } from nanoid; import ./index.scss export default function ContMain({children}) {const level useContext(LevelContext)return (div classNamecontainer{ children children.length children?.map((item, index) // 这样 HeadTitle 组件中才能获取到 value 值LevelContext.Provider key{${nanoid()}4444} value{item.level} HeadTitle /HeadTitlep姓名{item.name}/pp年龄{item.age}/p{item item?.children item?.children.length (div style{{marginLeft: ${item.level * 20}px}}// 自调用当前组件ContMain{[...item.children]}/ContMain/div) }/LevelContext.Provider/)}/div) } 声明index 文件 import ContMain from ./ContMain import { userInfoArr } from ./mock.js import { LevelContext } from ./LevelContext export default function MyContext3() {return (h1父级/h1LevelContext.Provider value{1}ContMain {[...userInfoArr]}/ContMain/LevelContext.Provider/) } 效果如图
http://www.hkea.cn/news/14535942/

相关文章:

  • 中山蓝图科技网站建设芜湖做网站建设公司
  • 网站建设 招聘粤健康app下载
  • 长春企业网站设计贵州百度竞价网页设计
  • asp网站图片万网做网站给网站源码
  • 公司付网站会员费科目怎么做私募基金网站建设要求
  • 银川网站建设效果最新做做网站
  • 外贸网站建设 佛山做片头 网站
  • 网站怎么做外链接地址自己制作游戏的软件
  • jsp网站开发工资域名访问网站下
  • 在哪可以建一个网站网站建设感悟
  • 个人备案网站可以做商城展示开发公司网站
  • 电子商务网站建设与管理笔试设计公司介绍模板
  • 湘icp备 网站建设 农业 湖南wordpress邮箱验证失败
  • 为什么百度没有收录我的网站完全免费建站系统
  • 网站模板设计德语网站域名
  • 重庆点优建设网站公司南通网站建设推广
  • 电子商务网站设计与建设外贸公司推广方案
  • 聊天室网站开发如何做电商新手入门
  • wordpress添加文章封面贵阳网站搜索优化
  • 爱站网能不能挖掘关键词wordpress 五分钟
  • 谷歌官方网站首页长沙从寒网络科技有限公司
  • 泰安招聘信息最新招聘2023沈阳网站优化
  • 电商购物网站开发打游戏一天赚200元
  • 网站建设需求怎么提网站建设地图素材
  • asp.net mvc 做网站红酒营销 网站建设
  • 做360网站快速排名软件制作公司网页价钱
  • 连云港建设网站公司网站建设服务费的税收分类
  • 青岛 制作网站 大点的公司东莞专业网站建设服务
  • 北京海岸设计公司网站运输公司网站模板
  • 深圳网站建设设计首选公司做业务需要知道哪些网站