Issue
I have a simple react app in which i have to use useContext.
(btw im using vite + react)
here is my code for Context.jsx
import React, {useContext} from 'react';
const emailContext = React.createContext();
export const useEmail = () => useContext(emailContext);
export const emailProvider = ({children}) => {
  const currentUser = "None";
  const value = {
    currentUser
  }
  return(
    <emailContext.Provider value={value}>
      {children}
      </emailContext.Provider>
  )
}
and heres how i am using the context
import "./styles.css";
import { useEmail } from "./Context/Context"
export default function App() {
  const {currentUser} = useEmail();
  return (
    <div className="App">
      <h1>Hello CodeSandbox {currentUser}</h1>
      <h2>Start editing to see some magic happen!</h2>
    </div>
  );
}
I am sure why I am getting error in this code.
some of the errors that I am getting
- _useEmail is undefined (latest)
- currentUser user is undefined
thing i have tried
- Initialized createContext with some initial value (only intial value is visible).
- using useContext() directy in the App.js (useContext(emailContext) return undefined)
- instead of {children} used <children/>.
- used useState instead of const currentUser in emailProvider
I am getting same problem even when I use typescript.
but none of the above helped.
Solution
You should wrapping app with <emailProvider></emailProvider> to using data in value={value}. Now it gets undefined from const emailContext = React.createContext();
Answered By - Nguyên Nguyễn Viết
 
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.