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>

react에서 form 다루는 법

input의 입력값 찾기

input 태그에 사용자가 입력해 준 데이터(input.value)를 우리가 받고 조작하고 싶다.

state를 선언해준 다음 input 태그 안의 value의 값을 그 state로 해 준다. 이렇게 하면 value를 언제든지 우리가 수정해줄 수 있다.

해당 state의 modifier를 input의 이벤트 핸들러에 선언해준다. 이 이벤트 핸들러가 하는 일은 바로 input의 value 값을 업데이트하는 역할이다.

만약 이벤트 핸들러를 지워주면 event.target.value는 바뀌어도 input의 value는 바뀌지 않는다.

minute → hour 만들기

우선 hour의 input의 value의 값을 minutes에 입력하면서 바꿔준 state 값을 이용해서 계산해준다.