2017-05-29 6 views
-2

DOMの操作にコストがかかることを考えれば、Reactはどのようにレンダリングのパフォーマンスを達成しますか?Reactレンダリングメカニズムはどのように機能し、DOM操作が遅くなるのを避けますか?

+0

jQueryのはオプションですか? – Sandman

+0

私は、シニアフロントエンドの開発者がここで立ち往生した場所に困惑しています。オブジェクト内のすべてのキーを検出したか、キーの値を空の配列に設定していましたか? –

答えて

0

for...inループと空の配列を使用してarr.length = 0を使用してオブジェクトプロパティをループすることができます。 Array.isArray()を使用して、値が配列かどうかを最初に確認することもできます。

var myobj = { 
 
    location : [ 'item1', 'item2', 'item3' ], 
 
    job : [ 'job1', 'job2', 'job3' ], 
 
    other : [ 'other1', 'other2', 'other3' ] 
 
} 
 

 
for(var key in myobj) { 
 
    if(Array.isArray(myobj[key])) myobj[key].length = 0; 
 
} 
 
console.log(myobj)

それとも、代わりにObject.keys()forEach()ループを使用することができます。

var myobj = { 
 
    location : [ 'item1', 'item2', 'item3' ], 
 
    job : [ 'job1', 'job2', 'job3' ], 
 
    other : [ 'other1', 'other2', 'other3' ] 
 
} 
 

 
Object.keys(myobj).forEach(key => myobj[key].length = 0) 
 
console.log(myobj)

+0

@George Katsanos確かに。 –

0

myobj = { 
 
    location: ['item1', 'item2', 'item3'], 
 
    job: ['job1', 'job2', 'job3'], 
 
    other: ['other1', 'other2', 'other3'] 
 
} 
 
var getAllKeys = Object.keys(myobj); 
 
getAllKeys.forEach(function(item) { 
 
    myobj[item].length = 0; 
 
}) 
 

 

 
console.log(myobj)

0
myobj = { 
    location : [ item1, item2, item3 ], 
    job : [ job1, job2, job3 ], 
    other : [ other1, other2, other3 ] 
} 

for(var key in myobj){ 
    myobj[key] = []; 
} 
関連する問題