0
我在反應本機應用程序中使用react-redux。 我有一個圖標切換,當您切換時會激起波紋。 (從這裏開始:https://github.com/xinthink/react-native-material-kit#toggles,你可以看到它在GIF)當狀態發生變化時react-redux動畫滯後
基本上我的狀態看起來是這樣的:
{
isChecked : false
}
和組件是這樣的:
<MKIconToggle checked={checked}
onCheckedChange={change => changeState(change.checked)}>
<Image source='img1'/>
<Image state_checked={true} source='img2'/>
</MKIconToggle>;
然後我有一個reducer來處理CHANGE_STATE操作,並相應地從有效負載返回一個新的狀態。
事情是它滯後可怕,我認爲是因爲它在動畫仍在運行時重新渲染。 (我檢查了,當我什麼都沒做在減速機,只是返回當前狀態它順利運行)
你會建議如何解決這個問題?我能想到的唯一的事情就是通過超時來調度異步操作來延遲操作。但那只是感覺不對。
也包裹你的狀態變化的延遲不會工作,因爲我有幾個這些按鈕,然後如果你撥動他們一前一後的渲染週期相互干擾和我得到的無論如何。 – talarari
如何將redux狀態提取到某個本地狀態變量中,並使用組件中的局部變量,但仍然更新您的全局狀態? –
這將如何不同?如果我正在更新全局狀態,它仍然會觸發渲染。 在我看來,我在做這件事的方式可能會有內在的錯誤。 此問題將適用於在同一連接組件中狀態更改(觸發渲染)時仍在進行的任何動畫。 – talarari