【发布时间】:2015-04-24 08:24:25
【问题描述】:
我不确定这是否是最好的处理方式,但我想将一个类名变量传递给 react 中的另一个组件。
这是一个启动动画 onClick 的按钮,只需将一个 className 添加到它的几个元素。我还创建了 var = overlay this.state.cliked ? 'open' : '' 启动覆盖,如果我在同一个组件上有覆盖 html,它可以正常工作,但我必须尽可能地做一些小组件。
var React = require('react');
var OverlayView = require('./OverlayView.jsx');
var StatusBarButtonView = React.createClass({
getInitialState: function() {
return {cliked: false};
},
handleClick: function(event) {
this.setState({cliked: !this.state.cliked});
},
render: function() {
var fondo = this.state.cliked ? 'active' : '';
var overlay = this.state.cliked ? 'open' : '';
return (
<div>
<div className={"statusbar-button-container " + (fondo)} onClick={this.handleClick}>
<img src="images/navbar-element-icon-cross.png" className={"rotate " + (fondo)}/>
</div>
</div>
<OverlayView className={overlay} />
);
}
});
module.exports = StatusBarButtonView;
如您所见,这是我想要传递给该组件的叠加层组件,但我不确定它是否可以单独运行并在该组件处理点击时启动。我有点迷失了反应,没有那么多在线信息,我对此很陌生。
这是 Overlay 组件:
var React = require('react');
var OverlayView = React.createClass({
return (
<div className={"overlay overlay-slidedown " + this.props.class}>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Work</a></li>
<li><a href="#">Clients</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
);
}
});
module.exports = OverlayView;
我不知道该怎么做,我在网上寻找例子,但对我来说没有什么很清楚的:(
【问题讨论】:
标签: reactjs