我正在使用REACT路由V6,我想使用新的加载器在组件加载之前加载数据.因此,我有以下几点看法
在我的index.js中
const router = createBrowserRouter(
createRoutesFromElements(
<Route path="*"
loader={async ({ params }) => {
console.log("index loader log"); //this logs
return true;
}}
element={<App />}
> </Route>
)
);
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<RouterProvider router={router} />
);
在我的应用程序组件中,我嵌套了如下路由
const App = () => {
return (
<>
<Routes>
<Route path="auth/*" element={<AuthLayout/>}/>
<Route path="about"
loader={async ({ params }) => {
console.log("about child loader log"); //this doesnt log
return true;
}}
element={<AboutPage/>}/>
</Routes>
<h1>Testing app</h1>
</>
);
}
在APP组件上,当我访问About路由时,Route path="about"
上的加载器不会sole.log,但组件被呈现.我错过了什么,装载机才能在 children 路由上工作.