我想知道如何实现 受控组件(例如输入框),如果应用程序的数据是基于不可变数据构建的,并且应用程序在 shouldComponentUpdate() 中使用“===”相等运算符进行快速重新渲染。
让我们假设深度嵌套的数据和层次结构深处的某个受控组件:
当使用本地组件状态(setState())作为正常实现时,react 不会看到更改,因为组件层次结构渲染过程可能会跳过分支,因为不可变数据没有更改。为了避免这种情况,所有本地组件状态都必须存在于应用程序状态中,并且受控组件上的每个事件(例如在输入框中键入)都必须导致更改不可变数据。
虽然这应该可行,但这是在使用不可变数据时实现受控组件的(唯一)方式吗???使用 Flux 完成这一切(触发一个动作,获取存储数据......)对于像输入输入框这样简单的事情来说可能会产生很多开销/往返。