0

這裏是我試圖使用反應原生iOS應用做 -如何在反應原生中使用StackNavigator的組件中獲取數據?

  1. 我使用StackNavigator
  2. 在主屏幕中,我查看列表是從AysncStorageget/fetch所有項目。這在componentDidMount()中完成。這工作正常。
  3. 我轉到下一個屏幕(使用StackNavigator)將一個新項目添加到AsyncStorage中的列表中。項目被添加。
  4. 當我使用後退按鈕回到主屏幕時,不會顯示更新的列表。此外,componentDidMount()未被調用。

這個問題怎麼解決?

+0

我已經解決了使用反應,終極版,但讓我知道這個問題如果有任何其他解決方案可用。 – limitlessriver

回答

0

終極版是最好的選擇,但一個骯髒的解決方法如下:

主屏幕

state = { items: [] } 

addItemFromChild = (item) => { 
    this.setState((prevState) => ({ items: [...prevState.items, item] })) 
} 

goToAddItemScreen =() => { 
    this.props.navigation.dispatch(NavigationActions.navigate({ routeName: "AddItemScreen", params: { addItemFromChild: this.addItemFromChild } })) 
} 

AddItemScreen

addItem = (item) => { 
    this.props.navigation.state.params.addItemFromChild(item) 
} 
相關問題