[英]How to access parent component state in child component?
我在我的應用程序中使用react-router(v3)進行路由。 我有一些嵌套的路由,想訪問子組件中的父組件狀態。
路線:
<Route component={Main}>
<Route path="home" component={Home} />
</Route>
主要成分(母體):
export default class Main extends Component {
constructor(prop){
super(prop);
this.state = {
user : {}
}
}
render(){
return (
<div>
Main component
</div>
)
}
}
家庭組件(子組件):
export default class Home extends Component {
constructor(prop){
super(prop);
}
render(){
return (
<div>
Main component
want to access user data here. how to access user from parent component?
</div>
)
}
}
在Home
組件中,我要訪問用戶數據,即在父組件Main
。 有什么方法可以訪問子組件中的父組件狀態?
您的問題是您不能僅將user
作為道具傳遞給Home
因為App
不能直接渲染Home
。 您正在通過React-Router
做到這一點。
您在這里有2種方法:
Redux
, connect()
Main
和Home
都connect()
到商店中的user
。 這樣, user
不是Main
狀態的一部分,而是應用商店的一部分,並且可以從其他組件進行訪問。 這是最復雜/可擴展的解決方案。 將父組件的狀態作為道具發送給子組件。 在Parent組件中像這樣獲取孩子...
<Home user={this.state.user} />
通過this.props.user
訪問子級中的this.props.user
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.