0

私が反応し、ネイティブ使用してiOSアプリのために行うにしようとしていますものです - 私は、ホーム画面でStackNavigator 反応ネイティブでStackNavigatorを使用しているコンポーネントでデータを取得するにはどうすればよいですか?ここで

  • を使用しています

    1. を、私はAysncStorageからget/fetchで、リスト内のすべての項目を表示。これはcomponentDidMount()で行われます。これは正常に動作します。
    2. 次の画面(StackNavigatorを使用)に進み、AsyncStorageのリストに新しい項目を追加します。アイテムが追加されました。
    3. 戻るボタンを使用してホーム画面に戻ると、更新されたリストは表示されません。また、componentDidMount()は呼び出されません。

    どのようにこの問題を解決できますか?

  • +0

    AddItemScreen利用可能な他の解決策があれば。 – limitlessriver

    答えて

    0

    Reduxのは最良の選択肢ですが、汚い回避策は以下の通りです:

    ホーム画面

    state = { items: [] } 
    
    addItemFromChild = (item) => { 
        this.setState((prevState) => ({ items: [...prevState.items, item] })) 
    } 
    
    goToAddItemScreen =() => { 
        this.props.navigation.dispatch(NavigationActions.navigate({ routeName: "AddItemScreen", params: { addItemFromChild: this.addItemFromChild } })) 
    } 
    

    私はReduxの-反応するが、私に知らせて使用して問題を解決した

    addItem = (item) => { 
        this.props.navigation.state.params.addItemFromChild(item) 
    } 
    
    関連する問題