node.js - antdesign怎么集合react-redux對input控件進(jìn)行初始化賦值
問題描述
https://segmentfault.com/q/10...https://segmentfault.com/q/10...對于這兩個帖子問題的原因已經(jīng)找到了,原來是因為react-redux,進(jìn)行頁面加載的時候,會先把原來的標(biāo)簽加載一次,然后再執(zhí)行componentDidMount事件ps.我也試過了componentWillMount事件,結(jié)果相同。執(zhí)行順序(詳):1.在第一次加載的時候,ant控件Input的defaultValue已經(jīng)被賦值了,只不過沒有找到,所以是undefined
2.然后執(zhí)行componentDidMount/componentWillMount時間,在把ss重新賦值,賦予給Input的defaultValue
我再控制臺也輸出了ss,由結(jié)果也可以驗證上面的結(jié)論
看吧這一對是不是輸出了兩次?而我在代碼中只寫了一次
按照input的描述,頁面只有在第一次給input賦值的時候會把value值顯示在頁面上,后面不管在頁面上的控制臺更改幾次value都不會對頁面顯示產(chǎn)生影響,所以頁面一直都顯示空。
那么問題來了,我要怎樣做才能在react-redux的框架基礎(chǔ)上,并加入ant的標(biāo)簽,對Input進(jìn)行初始化賦值,并把這個賦值顯示在頁面上呢?
問題解答
回答1:render 是會在改變state的時候渲染 你第一次進(jìn)頁面 render一次 然后你請求數(shù)據(jù) 會改變state 會再render一次!
回答2:state和props的改變都會導(dǎo)致組件被渲染, 但是是否真的要渲染是取決于你的shouldComponentUpdate這個函數(shù)的,你可以通過實現(xiàn)這個函數(shù)來控制是否要渲染
相關(guān)文章:
1. mysql - Sql union 操作2. mysql 獲取時間函數(shù)unix_timestamp 問題?3. python - 請問這兩個地方是為什么呢?4. java - Mybatis 數(shù)據(jù)庫多表關(guān)聯(lián)分頁的問題5. 新入手layuiadmin,部署到tp中。想用php自已寫一個后臺管理系統(tǒng)。6. 急急急!!!求大神解答網(wǎng)站評論問題,有大神幫幫小弟嗎7. php - 生產(chǎn)環(huán)境下,給MySQL添加索引,修改表結(jié)構(gòu)操作,如何才能讓線上業(yè)務(wù)不受影響?8. javascript - 按鈕鏈接到另一個網(wǎng)址 怎么通過百度統(tǒng)計計算按鈕的點擊數(shù)量9. mysql - 僅僅只是把單引號與反斜杠轉(zhuǎn)義不用prepare statement能否避免sql注入?10. android - 安卓做前端,PHP做后臺服務(wù)器 有什么需要注意的?
