报错信息
Uncaught Error: useLoaderData must be used within a data router.
使用版本
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.6.1",
因为我使用react-router-dom是6.6.1版本,这个错误在goole和baidu上都没找到解决方案。最后是翻阅了官方文档,发现6.4以后的版本引入了支持新路由器apicreateBrowserRouter来代替BrowserRouter。如果你还使用BrowserRouter的话,是不支持数据Hooks的,例如useLoaderData.
解决
将BrowserRouter替换为createBrowserRouter。