Javascript 如果变量==React中的某物,如何将类分配给元素?
我是一个新的反应,以前和很多人一起工作过。 在Angular中,根据变量分配某些类尽可能简单,如下所示:Javascript 如果变量==React中的某物,如何将类分配给元素?,javascript,html,reactjs,Javascript,Html,Reactjs,我是一个新的反应,以前和很多人一起工作过。 在Angular中,根据变量分配某些类尽可能简单,如下所示: <p ng-class="{warning: warningLevel==3, critical: warningLevel==5}">Mars attacks!</p> var ClassnameExample = React.createClass({ render: function() { var cx = React.addons.classS
<p ng-class="{warning: warningLevel==3, critical: warningLevel==5}">Mars attacks!</p>
var ClassnameExample = React.createClass({
render: function() {
var cx = React.addons.classSet;
var classes = cx({
"message": true,
"warning": this.props.warningLevel === "3",
"critical": this.props.warningLevel === "5"
});
return <p className={classes}>Test</p>;
}
});
火星攻击
如何使用React在模板中执行类似的操作?简短回答:使用
classSet()
:
详细回答:
在React中没有太大的不同,除了编写一个简单的老JavaScript,所以这里有很多控件。此外,React已经有了一个漂亮的插件,使它更容易。在这种情况下,您的组件将如下所示:
<p ng-class="{warning: warningLevel==3, critical: warningLevel==5}">Mars attacks!</p>
var ClassnameExample = React.createClass({
render: function() {
var cx = React.addons.classSet;
var classes = cx({
"message": true,
"warning": this.props.warningLevel === "3",
"critical": this.props.warningLevel === "5"
});
return <p className={classes}>Test</p>;
}
});
var ClassnameExample=React.createClass({
render:function(){
var cx=React.addons.classSet;
变量类=cx({
“信息”:没错,
“警告”:this.props.warningLevel==“3”,
“关键”:this.props.warningLevel==“5”
});
返回Test
;
}
});
以下是工作示例:
请尝试在此处更改值:
React.renderComponent(<ClassnameExample warningLevel="3" />, document.body);
React.renderComponent(,document.body);
类集的另一种替代方法通常是使用简单的对象查找
var levelToClass = {
"3": "warning",
"5": "critical"
};
// ...
render: function(){
var level = levelToClass[this.props.warningLevel] || "";
return <p className={"message " + level}>Test</p>
}
var levelToClass={
“3”:“警告”,
“5”:“关键”
};
// ...
render:function(){
var level=levelToClass[this.props.warningLevel]| | |“”;
returnTest
}
或者在某些情况下是三元:
render: function(){
var level = this.props.warningLevel === 3 ? "warning"
: this.props.warningLevel === 5 ? "critical"
: "";
return <p className={"message " + level}>Test</p>
}
render:function(){
变量级别=this.props.warningLevel==3?“警告”
:this.props.warningLevel==5?“严重”
: "";
returnTest
}