【发布时间】:2016-08-17 00:07:55
【问题描述】:
我正在尝试将Google's Material Design Lite 与 ReactJS 一起使用。我正在使用 Spinner Loading & Text Field MDL 库的组件。
但是,当我使用 React Router 切换路由时,动画不会发生,当我刷新页面时,它工作正常。我想,这可能是因为 MDL 组件没有升级。然后,我尝试使用componentHandler.upgradeDom(),但控制台抛出错误,app.js:27160 Uncaught TypeError: Cannot read property 'upgradeDom' of undefined。
这是代码,
var React = require('react');
var ReactDOM = require('react-dom');
var PropTypes = React.PropTypes;
var MDLite = require('material-design-lite');
var componentHandler = MDLite.componentHandler;
var styles = {
loader: {
marginTop: '70px',
}
}
var Loading = React.createClass({
render: function() {
return (
<div className="mdl-spinner mdl-js-spinner is-active" style={styles.loader}></div>
);
},
componentDidMount: function() {
componentHandler.upgradeDom();
},
});
module.exports = Loading;
我还尝试使用console.log(MDLite) 在控制台中记录 MDLite 变量。但是,它向我展示了一个 empty Object {}。我正在使用 webpack 并安装了带有 NPM 的 Material Design Lite,npm install material-design-lite --save。
我的问题是如何正确导入/要求 MDL 并使用 componentHandler.upgradeDom()?
【问题讨论】:
标签: javascript reactjs npm webpack material-design-lite