私はナビゲーターを介して小道具を渡すことに取り組んでいます。状態から別の画面に複数の小道具を渡す際に問題があります。私はもう試した
passData(){
this.props.navigation.navigate('ListingAddressPhoto', {nickName:this.state.nickName})
}
これは機能しますが、1 つの prop しか渡しません。さらにプロパティを追加しようとしましたが、2 番目のページではこれしか読み取れません。テキスト入力やその他のコンポーネントから小道具を渡すにはどうすればよいですか。Redux について読んだことがありますが、これを利用するのではなく、別のルートがあるかどうかを知りたかったのです。
私のコンポーネントは以下です
<View style = {styles.inputdata}>
<TextInput
style = {styles.nickNameTextInput}
onChangeText={(nickName) => this.setState({nickName})}
placeholder={"Nickname eg. Cool Location"}
color={"black"}
placeholderTextColor={"grey"}/>
</View>
<View style = {styles.reginput}>
<TextInput
style = {styles.nickNameTextInput}
onChangeText={(hourlyRate) => this.setState({hourlyRate})}
placeholder={"hourly rate"}
color={"black"}
keyboardType='numeric'
placeholderTextColor={"grey"}/>
</View>
<View style={styles.descriptionTextBox}>
<TextInput
style = {styles.nickNameTextInput}
multiline={true}
borderColor={"black"}
onChangeText={(description) => this.setState({description})}
placeholder={"Describe your spot"}
color={"black"}
placeholderTextColor={"grey"}/>
</View>
すべてのデータを取得し、コンストラクターのプロパティから状態に保存しています。次に、それを次の画面に渡し、Firebase にアップロードします。