Dha*_*n P 5 javascript reactjs redux
我使用 ReactJS 完成了一个小型 Web 应用程序。它易于维护和理解。现在我学习了 Redux 并计划在它上面实现。它需要做更多的事情和额外的事情(创建商店、Reducers 等)。我个人认为没有 redux 反应很好,很容易理解和维护状态。那为什么我们需要额外的东西(Redux)?
使用 Redux 的原因:
同一块应用程序状态需要映射到多个容器组件。
一个很好的例子是会话状态。当应用程序首次加载时,通常需要与标题栏和每个页面中的各种组件共享有关用户的信息。很可能这些组件没有任何直接关系,因此 Redux 提供了一种共享状态的便捷方式。
可以从任何地方访问的全局强文本组件。
组件在应用程序的生命周期内一直存在(对于单页应用程序,这是每次重新加载入口点时),它们可以执行诸如显示通知、小吃栏、工具提示、模态、交互式教程等操作。使用 Redux ,您可以创建将命令分派到这些组件的操作,例如,如果代码向后端发出异步请求,它可以在请求失败时分派显示小吃栏操作。如果没有 Redux,您将需要一些其他事件系统,或者每次使用时都必须实例化小吃店组件。
太多的 props 通过组件的多个层次结构传递。
如果一个更高级别的组件提供了十几个 props 并且只使用其中的两个,其余的传递给一个较低级别的组件,那么可以考虑使用 Redux 进行重构。对于仅提供布局样式但不需要大量数据或配置的包装器组件,这种情况经常发生。在这种情况下,将 Redux 直接侧链到较低级别的组件中更实用。
使用 setState 的状态管理使组件膨胀。
这是非常主观的,但是超过数百行代码的组件开始变得更难推理和维护。将状态管理分离到一个 reducer 中可以分解代码并使其更具可读性。
缓存页面状态。
当用户对一个页面做了一些事情,然后转到另一个页面并返回时,通常期望页面处于相同的状态。其中一些可以通过在后端保存页面状态并在页面加载时调用它来解决。但是,通常诸如搜索输入值和展开/折叠的手风琴之类的东西存储在后端是多余的。由于reducer 通常会在整个会话期间进行初始化和活动,因此它们可以缓存页面状态,以便保持不变。
| 归档时间: |
|
| 查看次数: |
2410 次 |
| 最近记录: |