React Router 类型错误解决:RouterProvider 替换为 BrowserRouter
根据报错信息,问题出现在<RouterProvider>组件上。根据报错信息中的提示,RouterProvider组件的属性中没有children属性。
根据React Router的官方文档,RouterProvider组件应该是react-router库的旧版本的组件,而新版本的react-router-dom库中使用的是BrowserRouter组件来提供路由功能。因此,您需要将RouterProvider替换为BrowserRouter。
修改后的代码如下:
import React from 'react'
import ReactDOM from 'react-dom/client'
import './index.css'
import App from './App'
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'
import { store, persistor } from './store'
import { BrowserRouter as Router } from 'react-router-dom'
import router from './router/index'
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)
root.render(
<Provider store={store}>
<PersistGate
loading={null}
persistor={persistor}
>
<React.StrictMode>
<Router>
<App />
</Router>
</React.StrictMode>
</PersistGate>
</Provider>
)
这样就解决了类型错误问题。请确保您已经安装了react-router-dom库,并且已经将其导入到该文件中。
原文地址: https://www.cveoy.top/t/topic/qx67 著作权归作者所有。请勿转载和采集!