๋ฐ์ํ
Intro
์๋
ํ์ธ์. ์ด๋ฒ ์๊ฐ์๋ react ๋ฆฌ์กํธ์์ ํ ๊ธ ๋ฒํผ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
How to solve the problem
์ ๋ ํ ๊ธ ๋ฒํผ์ ๊ตฌํํ๊ธฐ ์ํด์ useState hook์ ์ฌ์ฉํ์์ต๋๋ค.
useState hook is used to initialize with initial value and function which changes its value on click event handler.
์ฐ์ ์ฒ์ ํ ๊ธ๋ฒํผ์ on/off ์ํ๋ฅผ ๋ํ๋ด๋ state๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
const [isOff, setIsOff] = useState(true);
์ดํ ๋ฒํผ์ ํด๋ฆญํ ๋๋ง๋ค, ํด๋น state๋ฅผ ์ฌ์ฉํด์ค๋๋ค. on/off ์ํ์ ๋ฐ๋ผ css class๋ ๋ค๋ฅด๊ฒ ์ ์ฉํด์ค ์ ์๊ฒ ์ฃ ?
<button onClick={() => setIsOff(!isOff)}>{ isOff ? 'ON' : 'OFF' }</button>
์๋๋ ์ ์ฒด ์์ค์ ๋๋ค. ์ฐธ๊ณ ํด์ฃผ์ธ์ :)
import React, { useState } from 'react';
import ReactDOM from 'react-dom';
const ToggleButtonOnOff = () => {
const [isOff, setIsOff] = useState(true);
return (
<button onClick={() => setIsOff(!isOff)}>{ isOff ? 'ON' : 'OFF' }</button>
);
}
ReactDOM.render(
<ToggleButtonOnOff />,
document.getElementById('root')
);
๋ฐ์ํ