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

上海网站建设 建站猫和女人做的电影网站

上海网站建设 建站猫,和女人做的电影网站,淘宝客网站开发上架,如何查询网站的外链通常,您将通过 props 将信息从父组件传递到子组件。但是,如果必须将道具传递到中间的许多组件,或者应用中的许多组件需要相同的信息,则传递道具可能会变得冗长且不方便。Context 允许父组件将一些信息提供给其下树中的任何组件&am…

通常,您将通过 props 将信息从父组件传递到子组件。但是,如果必须将道具传递到中间的许多组件,或者应用中的许多组件需要相同的信息,则传递道具可能会变得冗长且不方便。Context 允许父组件将一些信息提供给其下树中的任何组件(无论其深度如何),而无需通过 prop 显式传递它。

传递道具的问题

传递道具是将数据通过 UI 树显式传递到使用它的组件的好方法。

但是,当您需要将一些道具深入树中传递时,或者如果许多组件需要相同的道具时,传递道具可能会变得冗长和不方便。最接近的共同祖先可能与需要数据的组件相距甚远,将状态提升到如此高的水平可能会导致一种称为“支柱钻孔”的情况。

如果有一种方法可以在不传递道具的情况下将数据“传送”到树中需要它的组件,那不是很好吗?有了 React 的上下文功能,就有了!

上下文:传递道具的替代方案

Context 允许父组件向其下的整个树提供数据。上下文有很多用途。下面是一个例子。考虑以下接受 a 大小的组件:Headinglevel

import Heading from './Heading.js';
import Section from './Section.js';export default function Page() {return (<Section><Heading level={1}>Title</Heading><Heading level={2}>Heading</Heading><Heading level={3}>Sub-heading</Heading><Heading level={4}>Sub-sub-heading</Heading><Heading level={5}>Sub-sub-sub-heading</Heading><Heading level={6}>Sub-sub-sub-sub-heading</Heading></Section>);
}
export default function Section({ children }) {return (<section className="section">{children}</section>);
}
export default function Heading({ level, children }) {switch (level) {case 1:return <h1>{children}</h1>;case 2:return <h2>{children}</h2>;case 3:return <h3>{children}</h3>;case 4:return <h4>{children}</h4>;case 5:return <h5>{children}</h5>;case 6:return <h6>{children}</h6>;default:throw Error('Unknown level: ' + level);}
}

假设您希望同一标题中的多个标题始终具有相同的大小:Section

import Heading from './Heading.js';
import Section from './Section.js';export default function Page() {return (<Section><Heading level={1}>Title</Heading><Section><Heading level={2}>Heading</Heading><Heading level={2}>Heading</Heading><Heading level={2}>Heading</Heading><Section><Heading level={3}>Sub-heading</Heading><Heading level={3}>Sub-heading</Heading><Heading level={3}>Sub-heading</Heading><Section><Heading level={4}>Sub-sub-heading</Heading><Heading level={4}>Sub-sub-heading</Heading><Heading level={4}>Sub-sub-heading</Heading></Section></Section></Section></Section>);
}
export default function Section({ children }) {return (<section className="section">{children}</section>);
}
export default function Heading({ level, children }) {switch (level) {case 1:return <h1>{children}</h1>;case 2:return <h2>{children}</h2>;case 3:return <h3>{children}</h3>;case 4:return <h4>{children}</h4>;case 5:return <h5>{children}</h5>;case 6:return <h6>{children}</h6>;default:throw Error('Unknown level: ' + level);}
}

目前,您将 prop 分别传递给每个:level<Heading>

<Section>
<Heading level={3}>About</Heading>
<Heading level={3}>Photos</Heading>
<Heading level={3}>Videos</Heading>
</Section>

如果您可以将 prop 传递给组件并将其从 .这样,您可以强制同一部分中的所有标题都具有相同的大小:level<Section><Heading>

<Section level={3}>
<Heading>About</Heading>
<Heading>Photos</Heading>
<Heading>Videos</Heading>
</Section>
http://www.yayakq.cn/news/37154/

相关文章:

  • 自己电脑上做网站怎么使用源码网站 不稳定
  • 阆中 网站建设做课件的网站有哪些
  • 服务器网站托管wordpress+vps建站
  • 网站开发打开世界之窗默认内核加盟哪家装修公司好
  • 网站备案所需资料做网站软文怎么弄
  • 如何在百度中搜索到网站哈尔滨建设工程交易中心
  • 咸阳做网站开发公司哪家好学校门户网站建设管理办法
  • 福州网站制作外包手机微信网页版登录
  • 网站底部悬浮代码wordpress怎么绑域名
  • 域客式单页网站能申请域名吗计算机网络资源网站建设论文
  • html个人主页代码编写上海网站建设seodian
  • 公司网站是用什么软件做公众号运营工作内容
  • 潍坊网站制作保定公司电话2345浏览器网址
  • 东莞专业做淘宝网站网站如何制作 优帮云
  • 免费素材软件下载优化大师并安装
  • 中国城乡和住房建设部网站首页招标网站的服务费怎么做分录
  • 阿里云网站搭建滨海专业做网站的公司
  • 旅游网站建设的建议如何用ps做网站平面图
  • 提供医疗网站建设google的网站优化工具
  • 简单的网站开发模板永州网站建设求职简历
  • 爱站长地方汽车网站模板购买
  • 商城网站建设公司电话化工企业建网站
  • 专业网站建站费用徐州网站建设方案推广
  • 做卫生用品的网站带孩子做网站
  • asp网站建设技术方案焦作建设厅网站
  • 嘉兴网站建设方案优化网站死链排查
  • 网站如何做app梧州本地网站
  • 国内定机票网站建设一个网站的上线流程
  • 常州网站建设方案搜索引擎营销的优缺点
  • 菏泽兼职网站建设网页设计个人