前幾天在作流程設置模塊時,遇到一個坑,掙扎了大半個鍾纔出來。css
事情是這樣的webpack
額,仍是先上代碼吧web
代碼比較粗,抱歉抱歉,將就將就,css因爲webpack那邊未處理好(可能吧,我還不大瞭解webpack),直接寫成行內樣式了。異步
RadioGroup須要的值須要從後臺返回,一開始用的defaultValue轉載值,用this.state.aprtype來傳值。this
噼裏啪啦地對接好了接口,歡快地打印出了全部接口的值,嗯?radio沒有對上?是defaultValue的用法不對嗎?嘗試給一個固定的值,例如 defaultValue=1,沒有問題啊,那就不是defaultValue的問題(>*_*<)。blog
setState是異步的,那會不會是這個緣由,this.state.aprtype的值還未更新?接口
嘗試使用 setTimeout 和 setState的時候加一個callback,都沒效果,在近乎絕望的時候,又想起defaultValue,額,改value試一下好了。文檔
成功了...好吧,具體的原理不是很明白,猜想是defaultValue不隨state的更新而改變。io
官方文檔是這樣的 defaultValue --- 默認選中的值後臺
value --- 用於設置當前選中的值
有什麼區別?!望不吝賜教,先謝謝了