フェッチ関数からデータを取得するAPPを作成しています。ここでは問題ありません。配列にはデータが正しくあります。その後、私は別のシーンにそのデータを渡したいReact Native - オブジェクト上でマップ関数を使用する方法
constructor(){
super()
this.state = {
fetching: false,
api: []
}
}
componentWillMount(){
this.setState({ fetching: true })
api.getMonuments().then(res => {
this.setState({
api: res,
fetching: false
})
})
}
I got this data: an array of 4 objects
:私はこのようにそれをやっています。私はnavigation.state.paramsとのデータが、問題は今、4つのオブジェクトの配列がそれにもう存在しないことであることを取得する他のシーンで
<View style={styles.contentContainer}>
<TouchableHighlight
style={[styles.button, {marginBottom:0}]}
onPress={() => navigate('Monumento', this.state.api)}
underlayColor='#000'
>
<View style={styles.buttonContent}>
<Animatable.Text
style={styles.buttonText}
animation="bounceInLeft"
duration={1500}
>
Click here!
</Animatable.Text>
</View>
</TouchableHighlight>
</View>
、代わりに:私はこのようにそれをやっていますこれで4つのオブジェクトを持つオブジェクトがあります...私は、コンソール場合that is what's appears
render(){
const api = this.props.navigation.state.params;
console.log('API:', api)
...
データをログ「APIは」関数ではないので、今、私はマップ機能を使用したいが、私はできません。..どうすればこれを回避できますか?
私はあなたが反応ナビゲーションを使用していると思います。もしそうなら、navigate関数の呼び出しはnavigate( 'Monumento'、{api:this.state.api})のようになります。そして、あなたはthis.props.navigation.state.params.apiのようにそれを取り出すことができます。ナビゲート関数は、画面名とparamsオブジェクトを取ります。これを読んでください:https://reactnavigation.org/docs/navigators/navigation-prop#navigate-Link-to-other-screens –
それは動作します!ありがとう!!あなたは私の日を救う! – Proz1g
うれしかった。私は答えとして追加しています。あなたはそれを受け入れることができます:) –