在函数式编程语言中,我们经常使用Nil / Empty对象/数组/列表作为单例,以便Nil === Nil
。
在Javascript中,不可变性不是默认的[] !== []
和{} !== {}
问题是我从后端获得有效负载,有时是空数组,或者我们有时也使用空数组作为默认值,因为它很方便。
我正在以纯粹的方式使用ReactJs,相当于PureRenderMixin
,但有时我们的组件与<Comp myProp={[]}/>
类似(显然简化)。显然,这会触发不必要的React渲染。
我想我可以做<Comp myProp={MyCustomEmptyArraySingleton}/>
之类的问题来解决问题,或者返工PureRenderMixin
最好的方法是什么?那么开发人员不必过多考虑这个问题?