
๊ฐ์ฅ ๊ฐ๊น์ด ๋ถ๋ชจ ์ปจํฌ๋ํธ์ state๋ฅผ ํ์ํ๋ ๊ฒ์ด ํจ์จ์
state์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ํ์ ์ปดํฌ๋ํธ์์ ๊ณตํต์ ์ผ๋ก ํ์ฉํ๋ ๊ฒฝ์ฐ
ํ์ ์ปดํฌ๋ํธ์ state๋ฅผ ๊ณตํต ์์ ์ปดํฌ๋ํธ๋ก ์ฌ๋ฆผ!
//๋ถ๋ชจ ์ปดํฌ๋ํธ
function Calculator(props){
const [temperature, setTemperature] = useState('');
const handleChange = (event) => {
setTemperature(event.target.value);
}
return(
<fieldset>
<legend>์ญ์จ ์จ๋๋ฅผ ์
๋ ฅํ์ธ์: </legent>
<input>
value = {temperature}
onChange = {handleChange}/>
<BollingVerdict
celsius={parseFloat(temperature)}/>
</fieldset>
);
}
//์์ ์ปดํฌ๋ํธ
function BollingVerdict(props){
if(props.celsius >= 100 ) {
return <p>๋ฌผ์ด ๋์ต๋๋ค. </p>;
}
return <p>๋ฌผ์ด ๋์ง ์์ต๋๋ค.</p>;
}
์์ ์ฝ๋์์ input์ ๋ค๋ฅธ component๋ก ๋ถ๋ฆฌ์์ผ ๋ณด์
const scaleNames = {
c: '์ญ์จ',
f: 'ํ์จ'
};
function TemperatureInput(props) {
const [temperature, setTemperature] = useState('');
const handleChange = (event) => {
setTemperature(event.target.value);
}
return (
<fieldset>
<legend>์ญ์จ ์จ๋๋ฅผ ์
๋ ฅํ์ธ์: </legent>
<input>
value = {temperature}
onChange = {handleChange}/>
<BollingVerdict
celsius={parseFloat(temperature)}/>
</fieldset>
);
}
function Calculator(props) {
return (
<div>
<TemperatureInput scale="c"/>
<TemperatureInput scale="f"/>
</div>
);
}