私はReact Native 0.43を使用しています。私はParentComponent
とChildComponent
という2つのコンポーネントを持っています。私は、親コンポーネントから子コンポーネントにいくつかの小道具を渡したいと思います。私の子コンポーネントは以下の通りであるReact Native:コンポーネントとcomponentWillMount()メソッドの間で小道具を渡す
export default class ParentComponent extends Component {
constructor(props) {
super(props);
this.state = {
latitude: 34.7821,
};
}
render() {
return (
<View>
<ChildComponent latitude={this.state.latitude} />
</View>
);
}
}
:私は親コンポーネントに次のコード(要約版)を使用してい
export default class ChildComponent extends Component {
constructor(props) {
super(props);
this.state = {
latitude: props.latitude,
};
}
componentWillMount() {
console.log('Before Mount: ' + this.state.latitude)
}
render() {
return (
<Text>{'Mounted: ' + console.log(this.state.latitude)}</Text>
);
}
}
さて、私のコンソールショー結果、以下:
2:14:12 AM: Before Mount: null
2:14:12 AM: Mounted: null
2:14:12 AM: Mounted: 34.7821
今すぐcomponentWillMount()
私の元のコードでは、明らかに最初のレンダリングで、渡されていないthis.state.latitude
の値に依存するWebサービスへのAPI呼び出しがあります。 2番目のレンダリングで、this.state.latitude
の値が利用可能になると、render()
関数だけが実行されますが、私はcomponentWillMount()
関数でこの値を必要とします。
私はここで間違っていますか?
あなたはComponentDidMount –