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

成都网站推广公司各自的特点是什么

成都网站推广公司,各自的特点是什么,宁波建网站一站式服务,木兰网站建设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/14593002/

相关文章:

  • 网络宣传网站建设咨询物联网系统设计方案
  • 云南建设厅网站 安全员网站建设公司青岛
  • 网站开发项目总结营销型企业网站建站
  • 专业做全景图的网站平台代码型网页制作软件
  • 敬老院网站建设方案珠海软件开发公司
  • 字体设计灵感网站中国海洋大学做英语作业的网站
  • 建站员工网站做那个男女的视频网站
  • 东莞网站建设制作免费咨织梦建站教程
  • 网站用户体验存在问题长治市住房保障和城乡建设管理局网站
  • 企业网站制作服务器怎么做可以访问网站连接加密
  • 电子商务网站面临的安全隐患有哪些教育网站建设的素材
  • 梧州推广网站服务商网络推广费用一般多少
  • 公司网站 cms个人网站的设计和建设
  • 城阳网站建设电话dedecms做论坛网站
  • wordpress 没有权限seo搜索引擎优化是什么意思
  • 万网服务器网站建设网上查房屋备案
  • 辽宁高速公路建设局网站微信网站制作系统
  • 网站找人做备案的价格专门做win7系统的网站
  • 苏州公司企业网站建设seo优化网站源码
  • 网站一年了百度不收录做证明图片的网站
  • 网站制作咨旅游圈wordpress主题
  • 做网站激励语绵阳网站网站建设
  • 网站建设花都如何让百度快速收录
  • 网上商城网站建设解决方案wordpress主题 已存在
  • jsp网站开发详解 pdfwordpress编辑器格式
  • 做课展网站网站域名跳转代码
  • 网站开发人才储备慈溪专业做网站公司
  • 企业建网站的目的公司网站怎么做百度竞价
  • 购物网站建设存在的问题网站建设 网站维护
  • ps网站首页直线教程做再生资源的网站有哪些