Redux用于使用React Stack Navigation以堆叠方式维护数据

时间:2017-08-28 05:37:47

标签: react-native redux react-redux react-navigation

我有一个屏幕A,其中包含可导航的组件。其中一个组件导航到屏幕A本身,但具有从触发组件传递的不同数据。

我正在使用Redux和React-navigation。

请帮我了解如何根据React Stack Navigation Stage存储屏幕数据。

  • 堆栈4 - >产品屏幕[id = 103]
  • 堆栈3 - >产品屏幕[id = 102]
  • 堆栈2 - >产品屏幕[id = 101](假设它包含相关的 以不同方式导航到产品屏幕本身的产品 params via this.props.navigation state params)
  • 堆栈1 - >家

现在我的屏幕显示来自商店的数据:

class ProductDetail extends Component {
  componentWillMount() {
        debugger;
        this.props.getProduct(this.props.navigation.state.params.productId);
    }

render() {
        const { goBack } = this.props.navigation;
        const { navigate } = this.props.navigation;
  return (
    <View>
     {
        this.props.product.isProductLoadingCompleted && (
          <Text>{productDetail.name}</Text>
          <View>
            //displaying all related products [onPress of this component ProductDetail Component opens with different id]
          </View>
     }    
    </View>
  }
}

现在假设我正在呼叫

this.props.navigation.goBack();
从堆栈4开始,然后它将显示产品id = 103而不是product id = 102的数据。为了解决这个问题,要么我必须使用当前屏幕产品ID再次获取数据,我不认为是一个很好的应用程序。

那么如何存储数据,以便产品ID 103粘贴到堆栈4的屏幕和堆栈3的产品ID 102,依此类推?

0 个答案:

没有答案