【发布时间】:2015-11-26 14:27:31
【问题描述】:
我有导航按钮(典型的左侧面板仪表板种类),它们使用链接在主要内容区域加载页面。
var {Link, History} = require('react-router');
var React = require('react');
var NavPanelButton = React.createClass({
mixins: [History],
click: function (e) {
e.preventDefault();
this.history.pushState(null, this.props.link);
},
render: function () {
var iconClasses = `fa fa-${this.props.icon} fa-fw`;
return (
<div className="nav-panel-button" onClick={this.click}>
<Link to={this.props.link}>
<i className={iconClasses}/> {this.props.children}
</Link>
</div>
);
}
});
当一个按钮被点击时,我需要将其状态更改为选中,这样我就可以添加一个 CSS 类并更改其背景颜色。
使用 React Router 执行此操作的正确方法是什么?我可以让按钮管理它们自己的选定状态,但这会失败,因为有时导航(按钮单击)会被阻止和中止,因为用户没有在当前页面上保存更改。
【问题讨论】:
-
其实 已经为你做到了:github.com/rackt/react-router/blob/master/docs/API.md#link (activeClassName)
标签: javascript reactjs react-router