Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'Provider' cannot be used as a JSX component

I've recently updated my react-router-dom to v6. The new version is very strict about the types used. When I use a redux provider in my code I get the following error message:

TS2786: 'Provider' cannot be used as a JSX component.

But it is fine for other providers:

root.render(
  <FirebaseAppProvider firebaseConfig={firebase}>
    <Provider store={store}>
      <BrowserRouter>
        <Routes>
          <Route path="/" element={<div>hello</div>} />
        </Routes>
      </BrowserRouter>
    </Provider>
  </FirebaseAppProvider>,
);

Do you have any solution rather than ts-ignore?

like image 580
pesehr Avatar asked Dec 31 '25 23:12

pesehr


1 Answers

This seems to occur recently when you have multiple versions of @types/react installed through dependencies.

Some workarounds can be found here: https://github.com/facebook/react/issues/24304#issuecomment-1094565891

like image 123
phry Avatar answered Jan 02 '26 14:01

phry



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!