<react-router-dom踩坑>Uncaught Error: useLoaderData must be used within a data

1,359 阅读1分钟

报错信息

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.

image.png

解决

BrowserRouter替换为createBrowserRouter

参考链接

createBrowserRouter v6.6.2 | React Router