前端開發(fā)中經常需要寫的一個邏輯:在提交后將表單數據重置為默認值。
原本我使用一個很笨的寫法:
預先復制一份對象(這里甚至不太嚴謹,沒有做深拷貝),然后在需要重置的時候將其重新賦值給源對象。
這就導致得在每個頁面無休無止地重復寫 dataCopy 和 reset。
使用 useResettableRef,傳入兩個參數:
value:需要可重置化的對象;
clone:克隆對象的回調函數(這里我默認用了自己的 defaultClone,也可以更嚴謹使用例如 Lodash 的 _cloneDeep)
然后返回一個 ref 對象和將其重置為默認值的 reset 方法。
代碼很簡單,但我就是想不到。有時候限制代碼水平的不是思維邏輯,而是對抽象的敏感程度。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者





暫無評論,快來評論吧!