React框架-Context(上下文)

本文详细介绍了React的Context API,包括其作用、使用方法、应用场景及潜在的缺点。通过Context,开发者可以避免多层组件间传递props,实现数据的自上而下流动,如主题切换、用户认证和跨层级组件通信。然而,Context可能导致不必要的组件重渲染,需要注意使用场景。
摘要由CSDN通过智能技术生成


前言

在一个典型的 React 应用中,数据是通过 props 属性自上而下(由父及子)进行传递的,但这种做法对于某些类型的属性而言是极其繁琐的(例如:地区偏好,UI 主题),这些属性是应用程序中许多组件都需要的。Context 提供了一种在组件之间共享此类值的方式,而不必显式地通过组件树的逐层传递 props。


一、Context的作用

Context 提供了一个无需为每层组件手动添加 props,就能在组件树间进行数据传递的方法。
作用:用于在React组件树中自上而下地传递数据


二、使用Context

1、React.createContext

创建一个 Context 对象。

const ThemeContext = React.createContext()

2、Context.Provider

生产者,用于生产共享数据的地方, 在value中放置需要共享的数据

<ThemeContext.Provider value={
   theme}>
						{
   /*<button onClick= {this.changeTheme.bind(this)}>改变主题色</button>*/}
	<div className="box1">
		{
   this.createNavLinks()}
	</div>
	<div className="box2">
		<Switch>
			{
   this.createRoutes()}
			<Redirect from="/*" to="/"/</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值