Soy bastante nuevo en JS y React JS, por lo que sería realmente necesaria alguna ayuda.
Estoy tratando de crear un contexto para esta importación de 'posthogs'. Hice un archivo de contexto y agregué el y rodeado de mi principal
PostHogContext.js
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 };Rodeado el proveedor de contexto con principal
<PostHogContextProvider> <Main> </PostHogContextProvider>Cuando lo llamo desde mi main.js
function MainPage(props){ posthog.identify(user.email); }me sale este error que dice
TypeError: no se pueden leer las propiedades de undefined (leyendo 'identificar')
por lo que puedo ver, no parece que haya encontrado la función posthog.identify o el valor de posthog es nulo, pero no estoy seguro de por qué es así cuando lo configuré en el proveedor
Está bien, lo descubrí, primero
mi setState tiene un error tipográfico.
const [initPostHog,setInitPosthog] = useState(posthog)initPostHog y setInitPosthog. Entonces mi valor no se estaba configurando correctamente.