ボタンをクリックして別の画面にデータを渡したい。私はルータフラックスを使用していましたが、うまくいきましたが、反応ナビゲーションではうまくいきません。反応ナビゲーションでネイティブパスデータに反応する
onSearch() {
fetch(`URL`, {
method: 'GET',
})
.then((response) => { return response.json() })
.then((responseJson) => {
this.props.navigation.navigate('Resultados', { data: responseJson });
})
.catch((error) => {
Alert.alert("0 Cars!");
});
}
それは動作しません:私はこれにコードを変更した場合、
onSearch() {
fetch(`URL`, {
method: 'GET',
})
.then((response) => { return response.json() })
.then((responseJson) => {
Action.results({data: responseJson});
})
.catch((error) => {
Alert.alert("0 Cars!");
});
}
しかし反応し、ナビゲーション上: だから、ルータ・フラックスに、ボタンのクリックで、それがこの関数を呼び出します私はいつもアラート "0車!"を得る。 私は何が間違っていますか?ルータフラックスでは、それはかなり簡単でした。
これは私がonSearch関数を呼び出す方法です:
<Button onPress={this.onSearch} style={{backgroundColor: '#f48529', width: 140, borderRadius: 30, height: 40}} >
<Text style={{color: 'white', fontFamily: 'rubik-light', fontSize: 17}}>Search</Text>
<Icon size={15} name={'search'} color={'white'} />
</Button>
を試してみてくださいあなたの
onPress={this.onSearch}
onPress={this.onSearch.bind(this)}
へを変更してみてください。また
キャッチの内部を渡すと、あなたのAjaxリクエストのエラーが出ます。 – WilomGfx
どういう意味ですか?ルータフラックスでは、私は "0車"しか得られません。データがなくても反応ナビゲーションでは、データがあってもそのアラートが表示され、次の画面は表示されません。 @WilomGfx – waze
アラート0の代わりにconsole.log(エラー)を試してみませんか?だからあなたはエラーが何であるか知っています。 – cjmling