我需要這個路由來傳遞一些更多的資料給CreateRoom組件,誰能幫我解釋一下語法
。 />。uj5u.com熱心網友回復:
你應該使用Link來發送它
<Link to={{ pathname: "/CreateRoom", state: data }} >
然后用
接收它 props.location.state。
uj5u.com熱心網友回復:
你也可以使用history傳遞資料,并在該組件上訪問它。
props.history.push({
pathname:"/CreateRoom"/span>。
state:{
userId:"1"。
...
}
});
你可以像props.location.state.userId
uj5u.com熱心網友回復:
你可以簡單地使用 :
<Route path="/"/span> >
<CreateRoom data={your data} /> data>}。/>
</Route
或者使用Link :
<Link to={{ pathname: "/", state: data }} >
然后在你的CreateRoom中用
const location = useLocation();
const data = location?.state;
uj5u.com熱心網友回復:
在這種情況下,使用鉤子的正確解決方案是將狀態從你鏈接到上面指定的路由的任何地方傳遞出來,并在CreateRoom組件中使用useLocation鉤子來訪問狀態。
然而,如果你想訪問它,你將需要從你鏈接到這個路由的每個地方傳遞道具。
例如:
<Link to={{pathname: "/"/span>, state = data }}. />。
或者使用history.push:
const RandomComponent = (props)=> {
const history = useHistory();
const forwardToPage = (/span>) => {
history.push({ pathname: "/"/span>, state: data})
}
}
而在你的CreateRoom組件中:
const CreateRoom=(props)=> {
const location = useLocation(); // this is imported from react-router-dom
const data = location?.state;
return(...)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307034.html
標籤:
上一篇:如何在rails中更新空列的值?
