我在react本机app中使用react-redux。 我有一个图标切换,当你切换它时会激活一个波纹。 (从这里:https://github.com/xinthink/react-native-material-kit#toggles,你可以在gif中看到它)
基本上我的状态看起来像这样:
Web.Debug.config
,组件是这样的:
{
isChecked : false
}
然后我有一个reducer来处理CHANGE_STATE操作,并相应地从有效负载返回一个真或假的新状态。
事情是它可怕地落后,我认为因为它在动画仍在运行时重新渲染。 (我检查过,当我在减速器中什么也不做,只返回当前状态时它会顺利运行)
你会怎么建议解决这个问题?我唯一能想到的就是用超时调度异步动作来延迟动作。但这感觉不对。
答案 0 :(得分:0)
尝试使用InteractionManager.runAfterInteractions
<MKIconToggle checked={checked}
onCheckedChange={change => {
InteractionManager.runAfterInteractions(()=>changeState(change.checked))}}>
<Image source='img1'/>
<Image state_checked={true} source='img2'/>
</MKIconToggle>;