2017-03-26 84 views
-1

我有一個包含50行的表,每行都是列表中的項目。在列表中反應更改項目

我想,當我點擊行中的複選框所選擇要設置的項目。

通過這樣做,我看到所有的50行是重新呈現。

我該如何設置特定項目? (沒有shouldcomponentupdate)。

case ITEM_SELECTED: 
     const items = fromJS(state.items) 
      items.update(
      items.findIndex(function(item) { 
       return item._id == action.id; 
      }), function(item) { 
       return item.selected = action.selected; 
      } 
     ); 
     return { 
      ...state, 
      items: items.toJS() 
     } 

謝謝:)

+0

A.未嘗試提供代碼。 B.非常開放。 C.悲傷的熊貓。 –

+0

也可以共享一些代碼,表以及在做選擇的功能:) –

+0

通過連接單個行組件而不是包含組件,您應該能夠避免重新渲染,儘管我不打算這樣做在大多數情況下。正如其他用戶所提到的,更多細節將幫助我們更好地回答您的問題。 –

回答

0

你加key每個項目? React使用key來確定是否有兄弟姐妹發生了變化。

https://facebook.github.io/react/docs/lists-and-keys.html#keys

+0

你有足夠的聲望來評論任何問題,所以不要問問題作爲答案,請在評論中提問,當它實際回答OP的問題時發佈答案:) –

+0

哦,對了!謝謝你的提示。 –

+0

是的,我已經使用過一把鑰匙 – user3712353