GithubHelp home page GithubHelp logo

Comments (2)

egonSchiele avatar egonSchiele commented on April 25, 2024 1

I don't see a React bug, but I do see a few different issues going on:

< /AuthContext.Provider> needs to be </AuthContext.Provider>.

In the second code snippet, you are using useContext at the top level, which is not allowed. Maybe you meant something like this?

import { Context, createContext, useEffect, useState, useContext } from "react";
import { AppSettings, AppSettingsContext } from "./AppSettings";
// I mocked out AuthService here because I'm not sure what your code looks like
import AuthService from "./AuthService";
export const AuthContext: Context<AuthService> = createContext<AuthService>(
  null!
);

export const AuthProvider: React.FC<{ children: JSX.Element[] }> = ({
  children,
}) => {
  let appSettings: AppSettings = useContext<AppSettings>(AppSettingsContext)!;
  const [authService, setAuthService] = useState<AuthService>(
    new AuthService(appSettings)
  );

  return (
    <AuthContext.Provider value={authService}>{children}</AuthContext.Provider>
  );
};

Finally, React.FC is not recommended:
facebook/create-react-app#8177

from react.

eps1lon avatar eps1lon commented on April 25, 2024

Can you include a complete, minimal repro using https://www.typescriptlang.org/play?

Also please include the version of typescript and @types/react used (e.g. by using yarn why @types/react).

from react.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.