今天解決了我自認為一個很不起眼的Bug,
我的Tabs下面有5個tabPane,并且這幾個tabPane共用了一個search組件,今天遇到了一個bug,就是這幾個組件使用公共查找組件的時候,前一個組件的值會影響下一個組件的值,
找了半天發現,原來我應該在父組件Tabs中定義一個useState的狀態status,當Tabs執行callback的時候,會有一個key,就把這個key存在status里面,然后當status等于每個組件對應的key時再加載相對應的組件,
不然TabPane會多加載,這樣資料就亂了,
寫一個代碼片段
<Tabs onTabClick={callback}>
<TabPane key='1'>
{status==='1' <ComponentA / > :null }
</TabPane>
<TabPane key='2'>
{status==='2' <ComponentB / > :null }
</TabPane>
</Tabs>
const [status,setStatus]=useState('');
const callback=(key)=>{
setStatus(key)
}
點個贊吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/550048.html
標籤:其他
上一篇:分析web應用內參考依賴的占比
