鍍金池/ 問(wèn)答/HTML/ 在react里面document.getElementById("&q

在react里面document.getElementById(""+i+"").checked=true,沒(méi)有更新到狀態(tài)。

我在react里面使用document.getElementById(""+i+"").checked=true來(lái)設(shè)置某個(gè)CheckBox的checked屬性,我在控制臺(tái)輸出了document.getElementById(""+i+"").checked的值,的確輸出了true,但是控件的狀態(tài)沒(méi)有改變,我使用的瀏覽器是ie9 ,項(xiàng)目react+antd,由于剛?cè)腴T(mén),沒(méi)想到好的方式,就用了document.getElementById()來(lái)設(shè)置checked屬性,但狀態(tài)卻沒(méi)有更新,怎么回事,怎么寫(xiě)狀態(tài)才會(huì)更新?

回答
編輯回答
艷骨

react 里面只有用了setstate才能觸發(fā)render,使?fàn)顟B(tài)發(fā)生改變

2017年2月18日 03:08
編輯回答
敢試

你因該把生命周期和react的渲染形式這兩部分搞清楚。另外既然用了react,原生寫(xiě)法除了localStroage、setTimeout類(lèi)似這種的,其他的都不要再用了,除非你第三方插件用到了。(官網(wǎng)原生例子了解一下)

2017年6月16日 11:03