2017-04-04 98 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。如何在第二個屏幕上顯示數據? – waze

+0

看到你將在第二頁獲得道具console.log(this.props)在你的第二頁的componentDidMount中,在你的chrome調試器中觀察你的日誌,在那裏你可以看到你的道具對象有一個數據鍵 –

+0

因爲我傳遞數組,我需要一個ListView來顯示所有的數據?但爲此,我需要'this.state.data.cloneWithRows(responseJson)',但是因爲Im使用'Actions.secondPage({data:responseJson})'我該如何使用ListView? @Manjeet – waze

相關問題