使用 React Router v6 不通过 Route 元素传递道具
Props not being passed through Route element with React Router v6
export default function App() {
return (
<Router>
<Routes>
<Route path="/" element={<App />} />
<Route path="roles" element={<Dashboard role={true} />} />
</Routes>
</Router>
)
}
来自仪表板组件的控制台日志记录 props.role 未定义。我已经查看了 20 个线程,但无法弄清楚我在这里做错了什么。
jsfiddle 中的仪表板组件导致 Whosebug 不允许我在此处编辑 post。这是来自 Material UI
的模板
通过查看你的代码,问题是你有这个:
export default function Dashboard() {
return <DashboardContent />;
}
如果您看一下设置为 Route 元素的组件是 Dashboard,但实际上您打印 props.role
的组件是 DashboardContent,因此您需要执行此操作并传递DashboardContent 的角色:
export default function Dashboard(props) {
return <DashboardContent role={props.role} />;
}
export default function App() {
return (
<Router>
<Routes>
<Route path="/" element={<App />} />
<Route path="roles" element={<Dashboard role={true} />} />
</Routes>
</Router>
)
}
来自仪表板组件的控制台日志记录 props.role 未定义。我已经查看了 20 个线程,但无法弄清楚我在这里做错了什么。
jsfiddle 中的仪表板组件导致 Whosebug 不允许我在此处编辑 post。这是来自 Material UI
的模板通过查看你的代码,问题是你有这个:
export default function Dashboard() {
return <DashboardContent />;
}
如果您看一下设置为 Route 元素的组件是 Dashboard,但实际上您打印 props.role
的组件是 DashboardContent,因此您需要执行此操作并传递DashboardContent 的角色:
export default function Dashboard(props) {
return <DashboardContent role={props.role} />;
}