首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:无法读取未定义的属性

TypeError:无法读取未定义的属性
EN

Stack Overflow用户
提问于 2021-11-05 02:08:59
回答 1查看 818关注 0票数 0

我对JS很陌生,对JS有反应,所以会有一些帮助。

我试图为这个导入的“后遗症”创建一个上下文。我创建了一个上下文文件,并在主目录中添加并包围了

PostHogContext.js

代码语言:javascript
复制
import posthog from "posthog-js";
import React, { useContext, useEffect, useState } from "react";

const PostHogContext  = React.createContext();

export function usePostHog(){
    return useContext(PostHogContext);
}

export default function PostHogContextProvider({ children }) {

    const [initPostHog,setInitPosthog] = useState(posthog)

    useEffect(() => {
            console.log("Initializing PostHog");
            setInitPosthog(posthog.init());
    },[initPostHog]);

    return(
        <PostHogContext.Provider value={initPostHog}>
            {children}
        </PostHogContext.Provider>
    )
}

export { PostHogContext };

使用main包围上下文提供程序。

代码语言:javascript
复制
<PostHogContextProvider>
  <Main>
</PostHogContextProvider>

当我在我的main.js中调用它时

代码语言:javascript
复制
function MainPage(props){

posthog.identify(user.email);

}

我得到的错误是

TypeError:无法读取未定义的属性(读取“标识”)

据我所见,它似乎没有发现posthog.identify函数或posthog值为空,但我不知道为什么在提供程序中设置它

EN

回答 1

Stack Overflow用户

发布于 2021-11-05 03:59:25

好吧,我先想清楚了

我的setState有一个错误。

代码语言:javascript
复制
const [initPostHog,setInitPosthog] = useState(posthog)

initPostHog和setInitPosthog.所以我的价值没有被正确设定。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69847921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档