TIL 5/2

Ramiยท2025๋…„ 5์›” 2์ผ

TodayILearn

๋ชฉ๋ก ๋ณด๊ธฐ
41/61

6.5 To Do Setup

๊ธฐ์กด form

import { useState } from "react";

function ToDoList () {
    const [toDo, setValue] = useState("");
    const onChange = (event:React.FormEvent<HTMLInputElement>) => {
        const {currentTarget : {value} } = event;
        setValue(value); // ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์—์„œ ๊บผ๋‚ธ ์‹ค์‹œ๊ฐ„ ์ž…๋ ฅ๊ฐ’ value
    }
    const onSubmit = (event:React.FormEvent<HTMLFormElement>) => {
        event.preventDefault();
        console.log(toDo); // ์ง€๊ธˆ๊นŒ์ง€ setValue๋ฅผ ํ†ตํ•ด ์ €์žฅ๋œ ์ตœ์‹  ๋ฌธ์ž์—ด toDo
    }
    return (
        <div>
            <form onSubmit={onSubmit}>
                <input onChange={onChange} value={toDo} placeholder="Write a to do"/>
                <button>Add</button>
            </form>
        </div>
    );
}

export default ToDoList;

useform ์„ ์ด์šฉํ•œ ์ฝ”๋“œ (๊ฐ„๋‹จํ•ด์ง)

import {useForm} from "react-hook-form";

function ToDoList() {
    const {register, watch} = useForm();
    console.log(watch());
    return (
        <div>
            <form>
                <input {...register("toDo")} placeholder="Write a to do"/>
                <button>Add</button>
            </form>
        </div>
    );
}

export default ToDoList;

react-hook-form์—์„œ {register, watch}๋งŒ์œผ๋กœ๋„ ์œ„์— ๋ชจ๋“  ์ฝ”๋“œ๋“ค์„ ํ•ด๊ฒฐ


profile
YOLO

0๊ฐœ์˜ ๋Œ“๊ธ€