0

Hier ist, was ich versuche, für eine iOS-App zu tun mit reagieren-native -Wie hole ich Daten in einer Komponente, die StackNavigator verwendet, in react-native?

  1. ich verwende StackNavigator
  2. auf dem Startbildschirm, die ich in einer Liste alle Elemente zeigen, die get/fetch von AysncStorage ist . Dies geschieht in der componentDidMount(). Das funktioniert gut.
  3. Ich gehe zu einem nächsten Bildschirm (mit StackNavigator), um ein neues Element zur Liste in AsyncStorage hinzuzufügen. Artikel wurde hinzugefügt.
  4. Wenn ich mit der Zurück-Taste zum Startbildschirm zurückkehre, wird die aktualisierte Liste nicht angezeigt. Auch der componentDidMount() wird nicht aufgerufen.

Wie kann dieses Problem gelöst werden?

+0

ich das Problem gelöst haben mit reagieren-redux aber lassen Sie mich wissen, wenn es eine andere Lösung gibt. – limitlessriver

Antwort

0

Redux ist die beste Option, sondern eine schmutzige Lösung ist folgendes:

Startseite

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) 
} 
Verwandte Themen