我正在启动一个新的 React 项目,并希望使用最新版本的 React Router。文档建议对所有 Web 项目使用 createBrowserRouter。他们没有说为什么它比使用 BrowserRouter 更好,只是它支持一些数据 API。
这两者之间的主要区别是什么?
createBrowserRouter()
提供了一些 <BrowserRouter>
没有的功能。
第一个是能够利用数据 API,它提供一致的模式来加载数据、验证数据并使该数据可供路由中呈现的组件使用。
此外,使用
createBrowserRouter()
,您可以将路由配置定义为“数据”(JavaScript 对象数组)而不是 JSX 标签,从而在配置路由时提供更高级别的灵活性。
由于 React Router 本身正在推广
createBrowserRouter()
的使用,并且它在功能上与 <BrowserRouter>
兼容,我个人认为这是代码库未来方向的信号。这可能是对未来一些弃用的暗示……但这纯粹是我根据经验的猜测。