javascript - 在 React 中初始化 materializecss 组件
问题描述
我正在尝试将 MaterializeCSS 中的 Carousel 图像滑块添加到一个简单的 React 组件,但我无法初始化它!知道我应该在我的代码中的哪里做这将非常有帮助
import React, { Component } from 'react';
import { M } from 'materialize-css/dist/js/materialize.min.js';
export default class Slider extends Component {
componentDidMount() {
var elem = document.querySelector('.carousel');
var instance = M.Carousel.init(elem, { duration: 200 });
}
render() {
return (
<div className="container center-align">
<h1 className="header pink-text">Slider</h1>
<div className="carousel">
<a className="carousel-item" href="#one!">
<img src="https://www.w3schools.com/images/picture.jpg" />
</a>
<a className="carousel-item" href="#two!">
<img src="../../public/images/lana/1.jpg" />
</a>
<a className="carousel-item" href="#three!">
<img src="../../public/images/lana/1.jpg" />
</a>
<a className="carousel-item" href="#four!">
<img src="../../public/images/lana/1.jpg" />
</a>
<a className="carousel-item" href="#five!">
<img src="../../public/images/lana/1.jpg" />
</a>
</div>
</div>
);
}
}
这给了我一个错误:无法读取未定义的属性“轮播”
我试图用 Jquery 来做,没有错误但没有用!
解决方案
我遇到过同样的问题。
通过添加materializecss npm模块解决了它
npm install materialize-css
然后将其导入组件
import M from "materialize-css";
并在 componentDidUpdate 方法中,添加了 init
componentDidUpdate() {
let collapsible = document.querySelectorAll(".collapsible");
M.Collapsible.init(collapsible, {});
}
问题解决了!!
推荐阅读
- tensorflow - 如何使用 LabelBinarizer 解决 2 个标签问题?
- angular - 如何在 @ngrx/store 的 createAction 中使用数组作为参数
- c# - 无法在 webtable 中水平滚动(使用 C# 的 Selenium)
- python - Sentry - 清理局部变量敏感数据
- macos - Apple Photos.app:有没有办法用 AppleScript 选择图片?
- wordpress - Woocommerce - 通过优惠券设置客户角色
- c# - Entity Framework 6 - DataReader 保持连接打开
- arrays - 将元素从 Array1 更改为 Array2,反之亦然
- ios - 尝试使用 URLsession 从 DataTask 创建图像不起作用
- python-3.x - 自动化 Python 3 (PyQt5) 中的重复代码