React-Hooks-useContext

useContext Hook 概述

  • useContext 相当于类组件中的 static contextType = Context

博主这里直接就是以两种不同的方式消费的代码贴在下方自己体会下就知道为啥要介绍 useContext Hook 了示例一:

import React, {createContext} from 'react';

const UserContext = createContext({});
const ColorContext = createContext({});

function Home() {
    return (
        <UserContext.Consumer>
            {
                value1 => {
                    return (
                        <ColorContext.Consumer>
                            {
                                value2 => {
                                    return (
                                        <div>
                                            <p>{value1.name}</p>
                                            <p>{value1.age}</p>
                                            <p>{value2.color}</p>
                                        </div>
                                    )
                                }
                            }
                        </ColorContext.Consumer>
                    )
                }
            }
        </UserContext.Consumer>
    )
}

export default function App() {
    return (
        <UserContext.Provider value={{name: 'BNTang', age: 18}}>
            <ColorContext.Provider value={{color: 'red'}}>
                <Home/>
            </ColorContext.Provider>
        </UserContext.Provider>
    )
}

使用 useContext Hook:

import React, {createContext, useContext} from 'react';

const UserContext = createContext({});
const ColorContext = createContext({});

function Home() {
    const user = useContext(UserContext);
    const color = useContext(ColorContext);
    return (
        <div>
            <p>{user.name}</p>
            <p>{user.age}</p>
            <p>{color.color}</p>
        </div>
    )
}

export default function App() {
    return (
        <UserContext.Provider value={{name: 'BNTang', age: 18}}>
            <ColorContext.Provider value={{color: 'red'}}>
                <Home/>
            </ColorContext.Provider>
        </UserContext.Provider>
    )
}

使用了之后直接通过 useContext 就可以直接将生产者的数据进行绑定然后获取到,使用起来非常方便。

posted @   BNTang  阅读(51)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示