JSX는 class / for 과 같이 JavaScript에서 선점된 문법 용어를 사용 못한다.
class는 className으로 for은 htmlFor로 바꿔쓴다
class → className, for → htmlFor로 변환한다.
<script type="text/babel">
const root = document.getElementById("root");
const App = () => {
return (
<div>
<h1>Super Converter</h1>
<label htmlFor = 'minutes'>Minutes</label>
<input id='minutes' placeholder="Minutes" type="number" />
<label htmlFor = 'hours'>Hours</label>
<input id='hours' placeholder="Hours" type="number" />
</div>
);
};
ReactDOM.render(<App />, root);
</script>
input 태그에 사용자가 입력해 준 데이터(input.value)를 우리가 받고 조작하고 싶다.
state를 선언해준 다음 input 태그 안의 value의 값을 그 state로 해 준다. 이렇게 하면 value를 언제든지 우리가 수정해줄 수 있다.
해당 state의 modifier를 input의 이벤트 핸들러에 선언해준다. 이 이벤트 핸들러가 하는 일은 바로 input의 value 값을 업데이트하는 역할이다.
만약 이벤트 핸들러를 지워주면 event.target.value는 바뀌어도 input의 value는 바뀌지 않는다.
우선 hour의 input의 value의 값을 minutes에 입력하면서 바꿔준 state 값을 이용해서 계산해준다.