反应原生缓慢 UI 转换性能缓慢



我在 React Native 中构建了一个 android 应用程序,它可以进行位置跟踪,定期将 lat/lng 发送到用户选择的服务器。 管理员用户可以通过启动时间间隔为 1 秒的轮询来定期列出位置的更改来跟踪用户,这会创建响应缓慢的 UI,并且在组件之间移动存在一些滞后。 我正在使用反应本机背景计时器,但它没有按预期工作。

在不阻塞 UI 的情况下调用轮询函数的最佳方法是什么? 这是我的代码

`onChangeTab(event) {
if (event === 1) {
intervalId = BackgroundTimer.setInterval(() => {
this.props.actions.getAllLocationAction();
}, 2000);
} else {
BackgroundTimer.clearInterval(intervalId);
}
this.setState({
activeTab: event
});
}`

如果您的 UI 由动画组成,则可以使用 InteractionManager API。有一个 runAfterInteractions(( 方法,它允许您延迟(长时间运行的(操作,直到所有动画完成。例如:

import { InteractionManager } from 'react-native';
onChangeTab(event) {
if (event === 1) {
InteractionManager.runAfterInteractions(() => {
this.props.dispatchTeamFetchStart();
});
}
this.setState({
activeTab: event
});
}

最新更新