【发布时间】:2016-10-02 20:21:58
【问题描述】:
我是 React(尤其是 React Native)的新手,我正在尝试提出正确的应用程序设计。
我有一个单独的 JavaScript 模块,与 React 无关;该模块包含一些带有方法的对象,其中一些改变对象,一些具有副作用(例如,订阅/取消订阅/从服务器事件,或添加/删除本地对象事件的侦听器)等。
我想在我的 React Native 应用程序中重用这个 JavaScript 模块,但它似乎不能很好地协同工作。在 Redux(以及其他一些状态管理器)中,状态需要表示为一个普通的不可变 JS 对象,而不是改变现有对象,而是创建新对象。所以我不能直接使用我现有的 JS 对象作为状态。
我可能可以在我现有的 JS 代码周围使用一些包装器(变异,并且充满副作用),但这似乎不是一个好的解决方案:大量重复,最终结果不太可能是优雅的。
另一方面,我不太高兴重新实现整个东西以适应 React 的世界,使其符合习惯。
另一方面,我可以忘记 Redux,并使用 React 组件的普通 state,但我觉得这会是一团糟。
我想从有经验的 React + Redux 人那里得到一些建议。你会推荐什么?
【问题讨论】:
标签: javascript reactjs react-native redux