8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【React】preventDefaultについて【JavaScript】

Posted at

はじめに

 本記事は、プログラミング初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
 そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
 間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。

preventDefaultについて

preventDefaultとは

preventDefaultとは、イベントに対するデフォルトの動作を止めるメソッドです。
以下のように記述することで、フォームに入力しEnterが押下された際にページがリロードされないようにできます。

input.jsx
import React from 'react';
import { v4 as uuid } from 'uuid';
import { createTodo } from '../../../lib/api/Todo';

export const TaskAddInput = ({
  inputText,
  setInputText,
  setTaskList,
  taskList
}) => {

  const handleSubmit = async (event) => {
    const taskId = uuid();
    // 画面の更新を制御
    event.preventDefault();
    if(inputText === ""){
      return;
    };
      // taskCardを追加する
      setTaskList([
        // 既存の配列
        ...taskList,
        {
          // 既存の配列にinputTextを追加
          draggableId: `task-${taskId}`,
          titile: inputText,
        }
      ]);
      // フォームを空にする
      setInputText("");
    // データ送信
    try {
      const res = await createTodo(taskList)
      console.log(res)
    } catch (error) {
      console.log(error)
    }
  }



  const handleChange = (event) => {
    setInputText(event.target.value);
  };

  return (
    <div>
      <form onSubmit={handleSubmit}>
        <input
          type="text"
          placeholder="タスクを追加"
          className='taskAddInput'
          onChange={handleChange}
          value={inputText}
        />
      </form>
    </div>
  );
}

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?