我最近更新了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
,你还有什么解决办法吗?
2条答案
按热度按时间8dtrkrch1#
最近,当您通过依赖项安装了多个版本的
@types/react
时,似乎会发生这种情况。您可以在此处找到一些解决方法:https://github.com/facebook/react/issues/24304#issuecomment-1094565891
2uluyalo2#
这是React 18的问题。可以添加{/* // @ts-ignore */}以忽略它。但不推荐