React Swiper 子组件无法更新父级的状态

React Swiper child component unable to update parent's state

我正在使用 Swiper for React and I'm trying to implement full page swiping. CodeSandbox here: https://codesandbox.io/s/nested-full-page-swiping-8i7sv

基本上,当您向左或向右滑动到幻灯片 A 或 C 时,它应该禁用垂直滑动,并且只应在您在幻灯片 B 的任何行上启用。

出于某种原因,我的父组件的状态在被 onSlideChange 事件触发时没有正确更新。我尝试了其他事件,例如 onSlideChangeTransitionEnd,但 vertSwipe 状态未正确更新。

我之前以完全相同的方式对其他一些组件进行过此操作,因此我不完全确定为什么在这种情况下更新父组件状态的子组件不起作用。我试过将状态 setter 包装在一个函数中并传递给该函数,但这似乎也不起作用。

感谢任何帮助,谢谢。

Code Sandbox demo here.

我设法让它工作了。子 Swiper 基本上会用 swiper.enable()swiper.disable() 击中父 Swiper。我相信这是完成这项工作的最有效方法,因为它不会触发重新渲染,而且实际上工作起来非常优雅。