【问题标题】:Is it a good practice to use Redux-like pattern in native iOS apps?在原生 iOS 应用程序中使用类似 Redux 的模式是一种好习惯吗?
【发布时间】:2017-03-15 09:28:55
【问题描述】:

我很想将 Redux / Redux-Saga + coordinator 模式应用到我真正发布的应用程序中,我的应用程序非常复杂并且包含多个模块。

让我困惑的是如何设计一个好的状态树?而且这个状态树很容易扩展。将所有模块的数据保存在状态对象中是不是太重了?

我的应用不是通过 RN 开发的,而是通过原生 OC 和 swift 开发的。

【问题讨论】:

  • 我看了一些博文,但大部分都是关于 JS / web 的,几乎没有一篇是关于移动原生应用的。任何人都可以分享原生 iOS 中 Redux 的良好实践吗?

标签: ios redux redux-thunk redux-saga


【解决方案1】:

您肯定会发现某种可以跟踪并发系统中的转换的状态机的用途。虽然,我很难想象你怎么能使用redux 或者它的任何中间件,没有运行像 web 视图这样的东西并让它与主应用程序进程通信,所以试着找到实际上为平台开发的东西您正在使用以获得出色的体验。

不,将所有数据保存在一个对象中没有问题。想一想:您的应用程序需要的数据必须分配到某个地方,因此无论是分配在单个对象上还是分布在多个对象上都没有关系。通常在转换之间发生的情况是,您总是会获得一个新的状态对象,并且只有已更改部分的路径无效,而其他引用只是被复制过来。

这使得推理应用程序状态(所有状态都在那里)和执行其他优化(仅重新渲染那些状态已更新的视图组件/衍生物)变得更加容易。

【讨论】:

  • 感谢@Filip,我之所以要在我的项目中尝试 Redux,是因为 Redux 是单向数据流,这可以让事情变得更简单和容易。但似乎很少有现实世界的原生应用使用这种模式?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
  • 2019-10-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多