Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React-Native:何时在应用程序中选择redux状态和React状态?_React Native_Redux_React Native Android - Fatal编程技术网

React-Native:何时在应用程序中选择redux状态和React状态?

React-Native:何时在应用程序中选择redux状态和React状态?,react-native,redux,react-native-android,React Native,Redux,React Native Android,我已经在我的应用程序中实现了redux。我的场景是,当从一个组件导航到另一个组件时,我正在更新redux状态。因此,当我回到上一个组件时,获取最后一个redux状态数据 预期结果: 当我回到上一个组件时,需要处于相同的状态。我不想要最近的变化数据 Ex: Marie ->April, when I go back, Marie <- April Ex:Marie->April,当我返回时,Marie April,当我返回时,April如果在多个类中需要数据,则使用redux s

我已经在我的应用程序中实现了
redux
。我的场景是,当从一个组件导航到另一个组件时,我正在更新
redux
状态。因此,当我回到上一个组件时,获取最后一个
redux
状态数据

预期结果:

当我回到上一个组件时,需要处于相同的状态。我不想要最近的变化数据

Ex:  Marie ->April, when I go back,  Marie <- April

Ex:Marie->April,当我返回时,Marie April,当我返回时,April如果在多个类中需要数据,则使用redux state,否则使用react state,
它取决于组件的生命周期。
因为redux状态是全局的,而react状态仅在定义它的类中处于活动状态。
根据您的情况,您可以对第一个组件使用redux状态,因为您将返回到它,并且您希望Marie作为您的数据,对第二个组件使用react状态,因为您希望April作为您的数据

我不确定我的答案是否正确。但目前,我是这样做的:

组件的状态可以分散在多个位置(例如:
this.State
、类的字段、全局对象或Redux)

我从您的问题中了解到,您同时处理两项要求:

  • 组件的部分状态需要在 返回和福特
  • 组件状态的另一部分需要与共享 其他组件(保持不变)在返回和福特时
我不知道两种需求都有一种解决方案。如果我必须这样做,我将设计组件的状态,使其分布或分散在不同的位置,每个位置都有自己的用途。基本上,我使用两种不同的解决方案:

  • 需要保留的部分州将被投入使用
    this.state
  • 需要共享的部分状态将放入
    Redux

  • 要使此解决方案起作用,我不使用,只使用
    redux
    。在
    redux
    中,有一个名为的方法,它将返回单个redux状态对象。我将
    存储设置为全局只读,并使用它呈现组件中需要共享数据的部分。

    最好知道何时使用哪个

    持续时间

    不同的状态会持续不同的时间。我将时间大致分为以下几类:

    短期:应用程序中会快速变化的数据-将此类数据存储在本地状态

    中期:可能会在应用程序中保留一段时间的数据-将状态存储在Redux应用商店中

    长期:在多次访问您的站点之间应该持续的数据-存储在其他地方,可能是服务器上的数据库或本地存储


    查看此处了解更多信息:

    这正是我心中困惑的地方。谢谢你简洁明了的解释。现在我完全清白了。再次非常感谢。我也不确定,但我遵循上述理念。我们不应该把所有数据都放在redux中。谢谢。
    Ex:  Marie ->April, when I go back, April <- April