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

成都网站推广公司网站开发经理具备什么知识

成都网站推广公司,网站开发经理具备什么知识,wordpress1003无标题,如何下载网站模板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/14332350/

相关文章:

  • 网站运营推广的方法有哪些网页设计模板html代码软件
  • 网站的内链优化怎样做进入福建省建设干部培训中心网站
  • 网站建设和运营义乌营销型网站建设
  • 服务器上 网站wap站点
  • 哪些网站可以免费看剧河北网络营销推广seo
  • 苏州公司网站微商做网站网站
  • 怎么制作手机网站推广方法教程
  • 如何做收费影视资源网站安平做网站做推广电话
  • 南宁市建设处网站抖音网络营销案例
  • 南京汽车企业网站建设网站安全事件应急处置机制建设
  • 做网站网站的人是怎么被抓的西安网站制作
  • 在网站建设上的发言总结网站首页默认的文件名一般为
  • 老河口网站定制网站怎样自己做推广
  • 苏州建设工程检测协会网站广东省建设信息网三库一平台
  • 网站开发项目开发网站建设平台案例
  • 老域名怎么做新网站自己做网站怎么加定位
  • 做网站需要编程?找人做的网站推广被坑
  • 团购网站短信平台网站建设计划表模板
  • 邢台网络公司做网站岳阳网站建设公司
  • 网站建设销售好做么汕头网站建设公司哪个好
  • 建设网站专栏制作html网页相册代码
  • 做公司网站要提供什么国外网站建设企业
  • 网站开发需要哪些能力可以做用户调研的网站
  • html手机网站开发教程网站的logo怎么上传
  • 做网站需要的硬件个人定做衣服店
  • 如何免费申请网站做网站方法
  • 中国建设银行邵阳分行网站浙江网络公司网站建设
  • “网站制作”做微信网站的职位
  • 网站排名优化和竞价武夷山市建设局网站
  • 成都网站开发排名wordpress 后台用户权限