在todolist的中,我使用的最多的方式是直接聲明箭頭函數(shù),然后調(diào)用吻谋,因為箭頭函數(shù)默認綁定this,特別是callback這種不綁定this现横,內(nèi)部無法使用漓拾。
創(chuàng)建箭頭函數(shù)
或者使用這種方式
事件后跟上箭頭函數(shù)
這種方式也會默認綁定this,而且可以傳遞面板上的參數(shù)前往調(diào)用的函數(shù)戒祠。
但是被指出我的綁定方式很不合理骇两,造成了不必要的性能消耗。
第一點: 直接創(chuàng)建箭頭函數(shù)去調(diào)用姜盈,在react16.4版本仍然被官方標記為實驗性語法低千,并不是一個推薦的做法
react16.4 實驗性語法
第二點:直接在dom上書寫箭頭函數(shù)或者bind(this),都是一個不怎么合理的行為馏颂,因為每次render都會執(zhí)行示血,這也是一種性能上的浪費,只需要在構(gòu)造函數(shù)中綁定一次即可
將創(chuàng)建好的callback放在constructor中綁定
(當然救拉,視情況還是需要在div中創(chuàng)建箭頭函數(shù)來使用难审,直接綁定this是法無法進行參數(shù)傳遞的,當需要傳遞參數(shù)到回調(diào)中亿絮,還是需要用箭頭函數(shù)來實現(xiàn))
需要傳遞參數(shù)