WithStore:无法读取未定义(纯-反应-旋转木马)的属性';状态';
我使用pure-react-carousel
库,并尝试通过My Button的onClick
方法导航到特定幻灯片。
请向我解释如何使用setStoreState
,因为我试着自己做(就像文档中写的那样),并且我使用它的整个页面都是看不见的。我尝试使用this.props.carouselStore.setStoreState({ currentSlide: 2 })
。
当我使用Store添加导出时,我的页面变得不可见。并且我得到以下错误。
Error is Uncaught TypeError: Cannot read property 'state' of undefined
my export
export default WithStore(MyComponent, state => ({
currentSlide: state.currentSlide,
}));
解决方案
我实际上是Pure Reaction旋转木马的作者。
WithStore()
仅当它是<CarouselProvider />
的子级时才有效
WithStore访问Reaction的上下文API。CarouselProvider创建上下文。创建上下文时,Reaction仅将上下文向下传递给创建上下文的组件的子组件。
因此,在此伪代码示例中使用WithStore将显示错误。
<YourComponentThatUsesTheWithStoreHOC />
<CarouselProvider>
// all your buttons, slides, dots, etc...
</CarouselProvider>
这也会使您出错。
<CarouselProvider>
// all your buttons, slides, dots, etc...
</CarouselProvider>
<YourComponentThatUsesTheWithStoreHOC />
此伪代码示例将起作用
<CarouselProvider>
// all your buttons, slides, dots, etc...
<YourComponentThatUsesTheWithStoreHOC />
</CarouselProvider>
相关文章