“Provider”不能用作 JSX 组件

pes*_*ehr 9 reactjs react-router redux

我最近将我的react-router-dom更新到了v6。新版本对于使用的类型非常严格。当我在代码中使用 redux 提供程序时,我收到以下错误消息:

TS2786: 'Provider' cannot be used as a JSX component.
Run Code Online (Sandbox Code Playgroud)

但对于其他提供商来说这很好:

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

你还有什么解决办法吗ts-ignore

phr*_*hry 15

当您通过依赖项安装了多个版本时,最近似乎会发生这种情况@types/react

可以在这里找到一些解决方法:https://github.com/facebook/react/issues/24304#issuecomment-1094565891

  • 我运行了“yarn Upgrade”以获取最新版本的“@types/react”,这为我解决了这个问题 (2认同)