我正在使用Swiper进行React,并尝试实现全页面滑动。此处的CodeSandbox:https://codesandbox.io/s/nested-full-page-swiping-8i7sv
基本上,当你向左或向右滑动幻灯片A或C时,它应该禁用垂直滑动,并且只有当你在任何一行的幻灯片B上时才应该启用。
由于某种原因,我的父组件的状态在被onSlideChange
事件触发时没有正确更新。我尝试过其他事件,如onSlideChangeTransitionEnd
,但vertSwipe
状态没有正确更新。
我以前用与其他一些组件完全相同的方式做过这件事,所以我不完全确定为什么在这种情况下,更新父组件状态的子组件不起作用。我尝试过将状态设置器封装在一个函数中,然后传递该函数,但这似乎也不起作用。
感谢您的帮助,谢谢。
此处的代码沙盒演示。
我设法使它工作起来。子Swiper基本上会用swiper.enable()
或swiper.disable()
击中父Swiper。我相信这是完成这项工作的最具性能的方式,因为这不会触发重新渲染,而且实际上效果非常优雅。