在React应用程序中使用Carousel时出错

时间:2018-07-20 09:28:48

标签: reactjs materialize

我在React应用程序中使用MaterializeCSS。关于在我的渲染器中使用带有Carousel代码的Carousel的信息。我在M处出错

 class App extends React.Component {

   render() {
       document.addEventListener('DOMContentLoaded', function() {
       var elems = document.querySelectorAll('.carousel');
       var instances = M.Carousel.init(elems, options);
  });
        return (
          <div>
     <div class="carousel">
        <a class="carousel-item" href="#one!"><img src="https://lorempixel.com/250/250/nature/1"></a>
        <a class="carousel-item" href="#two!"><img src="https://lorempixel.com/250/250/nature/2"></a>
        <a class="carousel-item" href="#three!"><img src="https://lorempixel.com/250/250/nature/3"></a>
        <a class="carousel-item" href="#four!"><img src="https://lorempixel.com/250/250/nature/4"></a>
        <a class="carousel-item" href="#five!"><img src="https://lorempixel.com/250/250/nature/5"></a>
      </div>
         </div>
        )
      }
    }

1 个答案:

答案 0 :(得分:0)

您应该在React Lifecycle的componentDidMount()事件中初始化Carousel,以确保DOM是否已完全加载。

使用它,让render()干净整洁。

componentDidMount(){
   document.addEventListener('DOMContentLoaded', function() {
       var elems = document.querySelectorAll('.carousel');
       var instances = M.Carousel.init(elems, options);
  });
}

我还假定您已经在组件中定义了options