본문으로 건너뛰기
이준석 개발 블로그
돌아가기

Event Handling

1분 분량이 글 고치기

HTML

<form onsubmit="console.log('You clicked submit.'); return false">
  <button type="submit">Submit</button>
</form>

React

const Form = () => {

            //submit 이벤트를 처리할 핸들러(담당자)작성
            const submitHandler = (event) => {
                event.preventDefault(); // form의 기본동작(reloading)을 제어하기 위한 코드
                console.log('you clicked submit');

            };

            return (
                <form onSubmit={submitHandler}>
                    <button type="submit">Submit</button>
                </form>
            )
        }
<div id="root"></div>
<script type="text/babel">
        const ButtonTest = () => {
        const {useState} = React;

        const [isToggle, setIsToggle] = useState(false);

        const clickHandler = () => {
            setIsToggle(!isToggle);
        };

            return(
                <button onClick={clickHandler}>{isToggle? 'CLICK':'NON'}</button>
            )
        }
    ReactDOM.render(
        <ButtonTest/>,
        document.getElementById('root')
    );
    </script>
<div id="root"></div>
<script type="text/babel">
const { useState } = React;

        const Toggle = () => {
            // 초기값 false
            const [isToggleOn, setIsToggleOn] = useState(false);

            // click 이벤트 발생시 처리를 담당할 Handler(담당자)
            const clickHandler = () => {
                // console.log('button clicked');

                // True -> False , False -> True
                setIsToggleOn(!isToggleOn);
            };
            // 소괄호는 코드를 깔끔하게 보기 위함
            return (
                // React.Fragment : 여러 줄을 한번에 쓰기 위해 div를 대체했음
                // <> : React.Fragment도 생략
                <>
                    <img src={isToggleOn ? 'pic_bulbon.gif' : 'pic_bulboff.gif'} />
                    <button onClick={clickHandler}>{isToggleOn ? 'OFF' : 'ON'}</button>
                </>
            )
        };

        ReactDOM.render(
            <Toggle />,
            document.getElementById('root')
        );

이 글 고치기
이 글 공유하기:

이전 글
List & Key
다음 글
Conditional Rendering