node.js - antdesign怎么集合react-redux對input控件進行初始化賦值
問題描述
https://segmentfault.com/q/10...https://segmentfault.com/q/10...對于這兩個帖子問題的原因已經找到了,原來是因為react-redux,進行頁面加載的時候,會先把原來的標簽加載一次,然后再執行componentDidMount事件ps.我也試過了componentWillMount事件,結果相同。執行順序(詳):1.在第一次加載的時候,ant控件Input的defaultValue已經被賦值了,只不過沒有找到,所以是undefined
2.然后執行componentDidMount/componentWillMount時間,在把ss重新賦值,賦予給Input的defaultValue
我再控制臺也輸出了ss,由結果也可以驗證上面的結論
看吧這一對是不是輸出了兩次?而我在代碼中只寫了一次
按照input的描述,頁面只有在第一次給input賦值的時候會把value值顯示在頁面上,后面不管在頁面上的控制臺更改幾次value都不會對頁面顯示產生影響,所以頁面一直都顯示空。
那么問題來了,我要怎樣做才能在react-redux的框架基礎上,并加入ant的標簽,對Input進行初始化賦值,并把這個賦值顯示在頁面上呢?
問題解答
回答1:render 是會在改變state的時候渲染 你第一次進頁面 render一次 然后你請求數據 會改變state 會再render一次!
回答2:state和props的改變都會導致組件被渲染, 但是是否真的要渲染是取決于你的shouldComponentUpdate這個函數的,你可以通過實現這個函數來控制是否要渲染
相關文章:
1. javascript - js 有什么優雅的辦法實現在同時打開的兩個標簽頁間相互通信?2. java - 新手做一個安卓視頻播放器,想實現一個進度條,按鈕那種在視頻下方懸浮的功能,不知道思路!3. android - 目前有哪些用Vue.js開發移動App的方案?4. html5和Flash對抗是什么情況?5. 想找個php大神仿個網站。6. javascript - 一個抽獎的效果(如圖)?7. javascript - 怎樣限制同一個瀏覽器不能登錄兩個賬號8. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決9. java - android代碼重構:如何把app設置里的頭像UI做成通用的?10. javascript - jquery怎么給select option一個點擊時觸發的事件,如圖 如果選擇自定義觸發一個時間?
