redux 'Provider'不能用作JSX组件

wnvonmuf  于 2022-11-12  发布在  其他
关注(0)|答案(2)|浏览(300)

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

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

但对于其他提供商来说,这是可以接受的:

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

除了ts-ignore,你还有什么解决办法吗?

8dtrkrch

8dtrkrch1#

最近,当您通过依赖项安装了多个版本的@types/react时,似乎会发生这种情况。
您可以在此处找到一些解决方法:https://github.com/facebook/react/issues/24304#issuecomment-1094565891

2uluyalo

2uluyalo2#

这是React 18的问题。可以添加{/* // @ts-ignore */}以忽略它。但不推荐

相关问题