Immutable.js 使用总结

    xiaoxiao2021-03-25  152

    关于Immutable.is

    测试结果:

    //测试1 let a={a:1, b:1, c:1}; let b={a:1, b:1, c:1}; var map1 = Immutable.Map(a);//需要转为Immutable数据,在用is比较 var map2 = Immutable.Map(b); console.log(map1 === map2);//false console.log(Object.is(map1, map2));//false console.log(Immutable.is(map1, map2));//true //测试2 let a={a:{d:2}, b:1, c:1}; let b={a:{d:2}, b:1, c:1}; var map1 = Immutable.Map(a); var map2 = Immutable.Map(b); console.log(map1 === map2);//false console.log(Object.is(map1, map2));//false console.log(Immutable.is(map1, map2));//false //测试3 let a={a:[1,2,3], b:1, c:1}; let b={a:[1,2,3], b:1, c:1}; var map1 = Immutable.Map(a); var map2 = Immutable.Map(b); console.log(map1 === map2);//false console.log(Object.is(map1, map2));//false console.log(Immutable.is(map1, map2));//false //测试4 let a={a:{d:2}, b:1, c:1}; let b={a:{d:2}, b:1, c:1}; var map1 = Immutable.fromJS(a); var map2 = Immutable.fromJS(b); console.log(map1 === map2);//false console.log(Object.is(map1, map2));//false console.log(Immutable.is(map1, map2));//true

    结果:is用作比较两个引用类型的值是否相等,在数据嵌套的情况下,测试3失效的原因是Map不能做深层次的Immutable转化。对于嵌套的数据结构,转Immutable的时候,使用fromJS

    转载请注明原文地址: https://ju.6miu.com/read-818.html

    最新回复(0)