skip to Main Content

I have written context file AuthContext.ts.
Here is the code

/*-- imports, interfaces and defaults --*/

const AuthContext = createContext<AuthContextType>(contextDefaults);

export const useAuth = () => useContext(AuthContext);

const AuthProvider = ({ children }: AuthProviderProps) => {
  const [user, setUser] = useState<User | null>(null);

  const isLoggedIn = !!user;

  const login = (data: User) => {
    setUser(data);
  };

  const logout = () => {
    setUser(null);
  };

  return (
    <AuthContext.Provider value={{ user, isLoggedIn, login, logout }}>
      {children}
    </AuthContext.Provider>
  );
};

export default AuthProvider;

When I write return script in above code Visual Studio Code doesn’t provide AuthContext in suggestions But when I use AuthProvider then it shows errors:
enter image description here

Thanks

2

Answers


  1. You should declare children of type ReactNode:

    import { ReactNode } from 'react';
    
    const AuthProvider = ({ children }: ReactNode) => { ... }
    
    Login or Signup to reply.
  2. You need to change the file extension to .tsx

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search