我在我的反應應用程序中使用Immutable js!作爲優化的一部分,我嘗試在shouldComponentUpdate中使用shallowCompare,並且當我發現shallowCompare對於不變的狀態和道具返回true時!我在我的道具中有一個路徑和模塊鍵,它們是不可變的對象(分別是列表和地圖!)我不確定我是做錯了什麼或者比較淺的比較不支持不可變的js,你們可以幫我嗎?ShallowCompare不能與不可變的js
0
A
回答
1
在大多數情況下,shallowCompare
完美地適用於不可變對象。
如果您想要Immutable.is()的特殊支持,您可以使用shallowEqualImmutable。它更好地理解Immutable集合,因爲它認爲相同值的列表是相同的。
import React from 'react';
import { shallowEqualImmutable } from 'react-immutable-render-mixin';
class Test extends React.Component {
shouldComponentUpdate(nextProps, nextState) {
return !shallowEqualImmutable(this.props, nextProps) ||
!shallowEqualImmutable(this.state, nextState);
}
render() {
return <div></div>;
}
}
+1
非常感謝,我非常感謝:D –
相關問題
- 1. 不能與可變
- 2. 不能與JS
- 3. NG-類不能與可變
- 4. CONSOLE.LOG不可變JS
- 5. 角JS v 1.4.8,不能與
- 6. 性能的可變與不可變對象
- 7. JS - 不能改變顏色,但可以改變顯示屬性
- 8. 帆布/ JS:不能改變lineWith而不改變以前的行
- 9. 不可變的JS - >修改列表
- 10. 將對象與不可變的js合併
- 11. 不可變的類與不可變的結構
- 12. 不能讓js-model與localStorage一起工作,或者根本不可能
- 13. 可變與不可變類型圖表
- 14. 不能使用可變片不可變的切片很好
- 15. 的Javascript不能讀取功能()可變
- 16. JS變寬不能按預期工作
- 17. 不能改變JS滑塊角指令
- 18. jQuery的不與JS
- 19. 不能在JS
- 20. js canvas drawImage不能與循環變量一起工作
- 21. 與可能或可能不會回覆
- 22. PHP:htmlentities不能與變量
- 23. sed不能與變量
- 24. SASS /自變量不可能
- 25. 不能使用可變
- 26. 離子2不能與核心 - js
- 27. Angular JS不能與Prism.js一起使用
- 28. 可見js不能用於IE10
- 29. Js,不可能刪除DOM元素
- 30. 節點JS不能在JS
也許有些代碼? –