javascript - 上下文返回未定义 - useContext

标签 javascript reactjs use-context

我试图以最简单的方式设置 useContext,但它一直返回 undefined

我已经检查了好几次,但仍然无法破译我遗漏的内容。

上下文.js:

import React from 'react';

export const Context = React.createContext();

export function Provider(props) {

    const sayHi = () => {
        console.log('hi')
    }

    const value = {
        actions: {
            sayHi
        }
    }

    return(
        <Context.Provider value={value}>
            {props.children}
        </Context.Provider>
    );
}

消费者组件(Transfer.js):

import React, { useContext } from 'react';
import { Context } from '../Context';

function Transfer() {
    const value = useContext(Context);
    console.log(value); // ------> returns undefined
    console.log(Context); // ----> it is defined

    return (
        <div className="send">
            // some HTML
        </div>
    );
}


export default Transfer;

文件夹结构:

src
└───components
│   └─── Transfer.js
│  
└───App.js
└───App.scss
└───Context.js
    ...

最佳答案

答案:根组件上缺少 Provider

关于javascript - 上下文返回未定义 - useContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67534318/

相关文章:

javascript - jQuery Validation 插件远程规则更改 php 函数值

javascript - 在 JavaScript 中处理 HTML

javascript - 在 Chrome 中进行 CSS 转换缩放时,如何阻止边框模糊?

Reactjs useContent Hook 在使用上下文时返回未定义

reactjs - 使用 UseReducer 和 useContext 钩子(Hook)进行调度 : dispatch does not exist on type {}

javascript - 如何使用 jquery 或 javascript 编写检查验证的条件

javascript - 在 JavaScript 中对对象数组进行精细排序

reactjs - WSL2 无法连接到 MongoDB

reactjs - 如何在 Reactjs 中一次调用上传多个图像文件

javascript - 页面刷新时 ContextProvider 不挂载