1
私はreact-routerとreact-reduxを使用しています。 コンポーネントがマウントされたときにデータベースからデータを取得するためにディスパッチを行います。それは親コンポーネントです上のリンクをクリックすると私のTopCompアップデートもレンダリングではプロップが定義されていませんが、最初にコンポーネントがマウントされたときにレンダリングの戻り値が表示されます
const ChildComp = React.createClass({
getInitialState() {
console.log(this.props.data)
//empty for the first time but gets data other times
}
render(){
console.log(this.props.data) //prints undefined
return(
{this.props.data} //gives the data
)
}
})
: 私の親コンポーネントは、この
const TopComp = React.createClass({
componentWillMount(){
this.props.dispatch(getData(this.params.id))
},
render() {
<ChildComp data={this.props.data} />
}
})
function mapStateToProps(state){
return {data:state.data}
}
export default connect()(TopComp)
私の子コンポーネントは、このようになりました。これは、異なるparams.idを受け取り、それぞれのデータをフェッチします。
私がここに入力している間、実際に私はmapStateToPropsを見逃しました。私は確かに、コンポーネントが最初のレンダリング()で小道具を受け取らないということを述べたという問題に直面しています。どうやってこれを別のやり方でやっていいのか教えてもらえますか?子供の初期レンダリングで小道具を手に入れます – Avinash