当滑动react native应用程序屏幕显示两次



实例https://snack.expo.dev/su1-U5DZc

如果我用按钮滑动屏幕-一切正常,但如果我用手势滑动-屏幕显示两次。为什么如此?

const onTouchStart = (e, state, context) => {
console.log('onTouchStart: ' + state.index);
setWtf(state.index);
};

使索引存储的地方引用,然后得到更新?

是的,这是由于setWtf(state.index);。在他们的官方git页面更新状态时报告了渲染问题。

他们说把react-native-swiper降级到1.5.5版本或者您可以遵循这里提到的其他解决方案:更新幻灯片

如果没有更多的信息,就不可能确定您遇到的问题的确切原因,尽管可以想象问题与您的代码处理触摸事件的方式有关。

您的代码可能根据您在屏幕之间滑动时的手势来调整state.index的值,然后根据state.index的值刷新屏幕显示。如果state.index通过引用被更新,屏幕显示可能会更新两次,因为值被修改了两次:一次是通过手势,一次是通过setWtf函数。

使用一个不同的变量来保存当前的屏幕索引,并且只在用户与按钮交互时更新state.index的值,这是解决这个问题的一个潜在方法。这将防止屏幕显示多次,并确保state.index的值只被修改一次。

重要的是要记住,您在查询中指定的setWtf函数不能连接到您遇到的问题。在没有更多信息的情况下,很难确定该函数是否用于更新应用程序中的另一个状态。

相关内容

  • 没有找到相关文章

最新更新