在 Redux 中处理大量文本输入更改

sir*_*day 5 javascript reactjs redux

我正在 Redux 中构建一个小型应用程序,并且想知道所有状态更改应在多大程度上通过 Redux 减速器和中央存储传播。

例如,单个文本输入在自己的组件内管理自己的状态是否更好(通过setState)?或者,是否应该触发操作来响应这些输入中的每个按键事件。如果是这样,我想知道是否存在性能问题。

总的来说,处理小型 UI 更新(例如 Redux 中的按键事件)的最佳实践是什么?

The*_*sor 2

Redux 用于以可预测的方式管理状态。状态意味着数据,这同样适用于来自 API 或客户端 UI 的数据。

在一个小型应用程序中,我会从所有状态 redux的愿景开始,直到我真正遇到性能问题。这包括视觉状态、菜单、用户输入。

redux 状态树可以高度优化,以通过减速器处理大量输入和更新。很大程度上是因为我们正在处理通过引用传递的不可变对象。

我已经编写了使用 Redux 管理状态的生产应用程序,它可以每 100 毫秒处理一次 websocket 上的大型更新,并且具有复杂的菜单操作(例如可视日期组件),并且它们都可以很好地协同工作。

为了增强您的信心,请阅读丹·阿布拉莫夫 (Dan Abramov) 的推文

附:最坏的情况是,如果您开始发现输入存在性能问题,您可以对输入字段进行反跳操作。