在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網絡安全  HTML/ ESlint airbnb 為什么不推薦在react的componentDidM

ESlint airbnb 為什么不推薦在react的componentDidMount生命周期函數中改變setState?

我需要獲取元素的真是高度,來進行一些操作,最直接的做法肯定就是在componentDidMount中獲取高度并進行進一步的渲染。但我使用的eslint卻給出了一個提示,不推薦在react的componentDidMount生命周期函數中改變setState,請問這是為什么?如果不用這種做法,如何實現我獲取元素真實高度的需求呢?

clipboard.png

回答
編輯回答
你好胸
Updating the state after a component mount will trigger a second render() call and can lead to property/layout thrashing.

no-did-mount-set-state

2018年6月18日 17:40
編輯回答
淺淺
2017年12月11日 15:06
編輯回答
離殤

在eslintrc的rules中改一下'no-did-mount-set-state'為0就可以了。
這個規(guī)則是airbnb的,可能是因為是擔心引改死循環(huán)吧。

2018年3月10日 06:31