Reactjsx 문법의 경우 클래스명을 추가해줄때

class="class-name" 이라고 쓰는것 대신 className={class-name}을 사용하게 된다.

또한 이 className은 객체 object값으로 처리가 가능해 유동적으로 변경도 용이하다.

 

import React, { Component } from 'react';

class Counter extends Component {
    state = {
        count: 0
    };
    
    render() { 
        return (
        <div>
            <span className={this.getBadgeClasses()}>{this.formatCount()}</span>
            <button className="btn btn-secondary btn-sm">Increment</button>
        </div>
        );
    }

    getBadgeClasses() {
        // defalut class
        let classes = "badge m-2 ";
        
        // count의 숫자의 따라 class명이 변경된다. (bootstrap)
        classes += (this.state.count === 0) ? "badge-warning" : "badge-primary";
        return classes;
    }

    formatCount() {
        const { count } = this.state;
        return count === 0 ? 'Zero' : count;
    }
}
 
export default Counter;

'SPA > React.js' 카테고리의 다른 글

React useState  (0) 2021.05.14
React Event (이벤트 추가)  (0) 2021.05.13
React Array (배열 출력)  (0) 2021.05.11
Component Wrapping (컴포넌트 감싸기)  (0) 2021.05.10
Input value control (input 상태 관리)  (0) 2021.05.09