728x90
반응형
질문 : ReactJS 컴포넌트에 여러 클래스를 추가하는 방법은 무엇입니까?
저는 ReactJS와 JSX를 처음 접했고 아래 코드에 약간의 문제가 있습니다.
li
className
속성에 여러 클래스를 추가하려고합니다.
<li key={index} className={activeClass, data.class, "main-class"}></li>
내 React 구성 요소는 다음과 같습니다.
var AccountMainMenu = React.createClass({
getInitialState: function() {
return { focused: 0 };
},
clicked: function(index) {
this.setState({ focused: index });
},
render: function() {
var self = this;
var accountMenuData = [
{
name: "My Account",
icon: "icon-account"
},
{
name: "Messages",
icon: "icon-message"
},
{
name: "Settings",
icon: "icon-settings"
}
/*{
name:"Help & Support <span class='font-awesome icon-support'></span>(888) 664.6261",
listClass:"no-mobile last help-support last"
}*/
];
return (
<div className="acc-header-wrapper clearfix">
<ul className="acc-btns-container">
{accountMenuData.map(function(data, index) {
var activeClass = "";
if (self.state.focused == index) {
activeClass = "active";
}
return (
<li
key={index}
className={activeClass}
onClick={self.clicked.bind(self, index)}
>
<a href="#" className={data.icon}>
{data.name}
</a>
</li>
);
})}
</ul>
</div>
);
}
});
ReactDOM.render(<AccountMainMenu />, document.getElementById("app-container"));
답변
내가 사용하는 클래스 이름을 (하지)를 사용하는 클래스를 결정하는 데 필요한 논리의 공정한 금액이있는 경우. 지나치게 간단한 예 :
...
var liClasses = classNames({
'main-class': true,
'activeClass': self.state.focused === index
});
return (<li className={liClasses}>{data.name}</li>);
...
즉, 종속성을 포함하지 않으려는 경우 아래에 더 나은 답변이 있습니다.
출처 : https://stackoverflow.com/questions/34521797/how-to-add-multiple-classes-to-a-reactjs-component
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
JSON 웹 토큰 무효화 (0) | 2021.09.14 |
---|---|
Fetch : POST JSON 데이터 (0) | 2021.09.14 |
JavaScript 객체의 클래스를 얻는 방법 (0) | 2021.09.13 |
동일한 요소에서 배경 이미지와 CSS3 그라디언트를 결합하는 방법 (0) | 2021.09.13 |
CSS를 사용하여 텍스트를 수직 가운데정렬 하는 방법 (0) | 2021.09.10 |