2017-04-04 6 views
0

ある画面から別の画面にデータを渡す必要がありますが、その方法はわかりません。私は検索してReduxについて読んだことがありますが、私はそれを使ったことがないので少し複雑です。そしてチュートリアルのほとんどは新人を混乱させるものです。しかし、もし私がReduxなしでそれを行うことができれば、それはより良いでしょう。ネイティブ・パス・データを別の画面に返す

onSearch() { 
    var listaCarros = fetch(`URL`, { 
     method: 'GET', 
     }) 
     .then((response) => { return response.json() }) 
     .then((responseJson) => { 
     console.log(responseJson) 
     }) 
    } 

と私は別の画面に、私はこのことから得るデータを渡したい:

だから、私はボタンでクリックしたとき、それはこれを実行します。 私がルータフラックスを使用している場合、それは重要です。

答えて

0

あなたはSecondPageと名付けた新しいコンポーネントにデータを渡したいように、あなたが道を次でそれを行うことができ見返りに、その後、以下の

onSearch() { 
    var listaCarros = fetch(`URL`, { 
     method: 'GET', 
     }) 
     .then((response) => { return response.json() }) 
     .then((responseJson) => { 
     console.log(responseJson); 
     /*for react-native-router-flux you can simply do 
     Actions.secondPage({data:responseJson}); and you will get data at SecondPage in props 

     */ 
     this.setState({ 
     dataToPass :responseJson 
     }); 
     }) 
} 

のようなあなたの現在のコンポーネントの状態の応答を保存することができます

render(){ 
    return(
    {this.state.dataToPass && <SecondPage data ={this.state.dataToPass}>} //you will get data as props in your second page 
); 
} 
+0

ありがとうございました!だから、私はActions.secondPageを使いました。 2番目の画面でデータを表示するにはどうすればよいですか? – waze

+0

2番目のページに小道具が表示されますか?2ページ目のcomponentDidMountにconsole.log(this.props)を実行し、クロムデバッガのログを観察して、その小道具オブジェクトにデータキーがあることを確認します –

+0

配列、すべてのデータを正しく表示するためにはListViewが必要ですか?しかし、私は 'this.state.data.cloneWithRows(responseJson)'が必要ですが、 'Actions.secondPage({data:responseJson}) 'を使用しているので、どのようにListViewを使用できますか? @Manjeet – waze

関連する問題