node.js - antdesign怎么集合react-redux對(duì)input控件進(jìn)行初始化賦值
問(wèn)題描述
https://segmentfault.com/q/10...https://segmentfault.com/q/10...對(duì)于這兩個(gè)帖子問(wèn)題的原因已經(jīng)找到了,原來(lái)是因?yàn)閞eact-redux,進(jìn)行頁(yè)面加載的時(shí)候,會(huì)先把原來(lái)的標(biāo)簽加載一次,然后再執(zhí)行componentDidMount事件ps.我也試過(guò)了componentWillMount事件,結(jié)果相同。執(zhí)行順序(詳):1.在第一次加載的時(shí)候,ant控件Input的defaultValue已經(jīng)被賦值了,只不過(guò)沒(méi)有找到,所以是undefined
2.然后執(zhí)行componentDidMount/componentWillMount時(shí)間,在把ss重新賦值,賦予給Input的defaultValue
我再控制臺(tái)也輸出了ss,由結(jié)果也可以驗(yàn)證上面的結(jié)論
看吧這一對(duì)是不是輸出了兩次?而我在代碼中只寫了一次
按照input的描述,頁(yè)面只有在第一次給input賦值的時(shí)候會(huì)把value值顯示在頁(yè)面上,后面不管在頁(yè)面上的控制臺(tái)更改幾次value都不會(huì)對(duì)頁(yè)面顯示產(chǎn)生影響,所以頁(yè)面一直都顯示空。
那么問(wèn)題來(lái)了,我要怎樣做才能在react-redux的框架基礎(chǔ)上,并加入ant的標(biāo)簽,對(duì)Input進(jìn)行初始化賦值,并把這個(gè)賦值顯示在頁(yè)面上呢?
問(wèn)題解答
回答1:render 是會(huì)在改變state的時(shí)候渲染 你第一次進(jìn)頁(yè)面 render一次 然后你請(qǐng)求數(shù)據(jù) 會(huì)改變state 會(huì)再render一次!
回答2:state和props的改變都會(huì)導(dǎo)致組件被渲染, 但是是否真的要渲染是取決于你的shouldComponentUpdate這個(gè)函數(shù)的,你可以通過(guò)實(shí)現(xiàn)這個(gè)函數(shù)來(lái)控制是否要渲染
相關(guān)文章:
1. MySQL 使用 group by 之后然后 IFNULL(COUNT(*),0) 為什么還是會(huì)獲得 null2. wordpress里,這樣的目錄列表是屬于小工具還是啥?3. 一直報(bào)這個(gè)錯(cuò)誤4. 常量在外面不加引號(hào)會(huì)報(bào)錯(cuò)。5. python如何設(shè)置一個(gè)隨著系統(tǒng)時(shí)間變化的動(dòng)態(tài)變量?6. mysql - 大部分?jǐn)?shù)據(jù)沒(méi)有行溢出的text字段是否需要拆表7. mysql federated引擎無(wú)法開(kāi)啟8. sublime text3安裝package control失敗9. 我的怎么不顯示啊,話說(shuō)有沒(méi)有QQ群什么的10. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?
