首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WithStore:无法读取未定义(pure-react-carousel)的属性“”state“”

WithStore:无法读取未定义(pure-react-carousel)的属性“”state“”
EN

Stack Overflow用户
提问于 2019-05-08 19:33:21
回答 2查看 1.2K关注 0票数 0

我使用pure-react-carousel库并尝试通过我的按钮的onClick方法导航到特定的幻灯片。

请向我解释如何使用setStoreState,因为我试着自己做(正如文档中所写的那样),并且我使用它的整个页面都是看不见的。我试着使用this.props.carouselStore.setStoreState({ currentSlide: 2 })

当我添加导出withStore时,我的页面变得不可见。我得到了下面的错误。

代码语言:javascript
复制
Error is Uncaught TypeError: Cannot read property 'state' of undefined
my export
    export default WithStore(MyComponent, state => ({
        currentSlide: state.currentSlide,
      }));
EN

回答 2

Stack Overflow用户

发布于 2019-05-20 23:10:25

我实际上是Pure React Carousel的作者。

仅当WithStore()<CarouselProvider />的子级时,它才有效

WithStore访问React的context API。CarouselProvider创建上下文。创建上下文时,React仅将上下文向下传递到创建上下文的组件的子组件。

因此,在这个伪代码示例中使用WithStore会给出错误。

代码语言:javascript
复制
<YourComponentThatUsesTheWithStoreHOC />
<CarouselProvider>
  // all your buttons, slides, dots, etc...
</CarouselProvider>

这也会给你这个错误。

代码语言:javascript
复制
<CarouselProvider>
  // all your buttons, slides, dots, etc...
</CarouselProvider>
<YourComponentThatUsesTheWithStoreHOC />

这个伪代码示例将会起作用

代码语言:javascript
复制
<CarouselProvider>
  // all your buttons, slides, dots, etc...
  <YourComponentThatUsesTheWithStoreHOC />
</CarouselProvider>
票数 3
EN

Stack Overflow用户

发布于 2019-05-08 20:25:35

括号是不必要的。试试这个:

代码语言:javascript
复制
export default WithStore(MyComponent, state => {
    currentSlide: state.currentSlide,
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56039841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档