【发布时间】:2016-07-14 21:09:40
【问题描述】:
我有一些像下面这样的 JS。我发现如果我删除 mdl-js-layout 按钮的 onClick 有效。否则失败。为什么会这样?我已经做了componentHandler.upgradeDom()
'use strict';
module.exports = React.createClass({
componentDidMount: function() {
console.log('update')
componentHandler.upgradeDom();
},
addExpense: function() {
console.log('add expense');
},
render: function() {
return (
<div ref="appLayout" className="mdl-layout mdl-js-layout mdl-layout--fixed-drawer">
<div className="mdl-layout__drawer">
<span className="mdl-layout-title">Expenses</span>
<nav className="mdl-navigation">
<a className="mdl-navigation__link" href="#">Expenses</a>
<a className="mdl-navigation__link" href="#">Settings</a>
</nav>
</div>
<main className="mdl-layout__content">
<div className="page-content">
<div className="mdl-grid">
<div className="mdl-cell mdl-cell--12-col">
<button ref="btnAddExpense" onClick={this.addExpense} className="mdl-button mdl-js-button mdl-button--raised mdl-button--accent">
Add Expense
</button>
</div>
</div>
</div>
</main>
</div>
);
}
});
如果我查看 React 调试器工具,我实际上可以看到 onClick 应该被绑定?
【问题讨论】:
-
github.com/tleunen/react-mdl/issues/254 - 你可能会觉得这很有帮助;确保点击处理程序是一个带有正确“this”对象的闭包。
标签: javascript reactjs material-design