我在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>
)
}
}
答案 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
。