1
/
5

React.jsでToDoアプリを作ってみました


こんにちは。三橋です。

今回React.jsでお決まりのTodoアプリを作成する手順を載せていきます。

React.jsとはWebサイトやWebアプリのUIを作成するためのJavaScriptのフレームワーク内で機能するライブラリです。

React.jsにはCreate React Appという手軽に始められるツールがあります。今回それを使っていきます。

手順は以下になります。

  • プロジェクト作成
  • Appコンポーネントの作成
  • TodoFormコンポーネントの作成
  • TodoListコンポーネントの作成
  • 実行する

プロジェクト作成

以下のコマンドでプロジェクトが作成されます。

npx create-react-app プロジェクト名


Appコンポーネントの作成

既存のApp.jsを変更し以下のようにします。

import { useState } from 'react';
import TodoForm from './components/TodoForm';
import TodoList from './components/TodoList';

let nextId = 0;

const App = () => {
 const [ todos, setTodos ] = useState([]);

 const addTodo = newTodo => {
   nextId = nextId + 1;
   setTodos([...todos, { id: nextId, text: newTodo }]);
 }

 const deleteTodo = id => {
   setTodos(todos.filter(todo => todo.id !== id));
 }    

 return (
   <>
     <TodoForm add={addTodo}></TodoForm>
     <TodoList todos={todos} del={deleteTodo}></TodoList>
   </>
 );
}

export default App;


TodoFormコンポーネントの作成

TodoForm.jsとTodoList.jsを置くためのcomponentsフォルダを作成し、components配下にFormファイルを置きます。ファイル内は以下のように記述します。

import { useState } from 'react';

const TodoForm = ({add}) => {
 const [ newTodo, setNewTodo ] = useState('');

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

 const addTodo = () => {
   if (newTodo === '') return;
   add(newTodo);
   setNewTodo('');
 }

 return (
   <>
     <h3>Todo List</h3>
     <input value={newTodo} onChange={handleChange} placeholder="Input here..." />
     <button onClick={addTodo}>add</button>
   </>
 );
}

export default TodoForm;


TodoListコンポーネントの作成

components配下にTodoList.jsを作成し、以下を記述します。

const TodoList = ({todos, del}) => {
 return (
   <>
     <h5>List</h5>
     <ul>
       {
         todos.map(todo => {
           return (
             <li key={todo.id}>
               {todo.text}
               <button onClick={() => del(todo.id)}>delete</button>
             </li>
           )
         })
       }
     </ul>
   </>
 );
}

export default TodoList;

最後に

実行してみます。

npm start

ブラウザでhttp://localhost:3000にアクセスするとアプリが起動するのが確認できればOKです。



株式会社クオリアシステムズでは一緒に働く仲間を募集しています

株式会社クオリアシステムズ's job postings
2 Likes
2 Likes

Weekly ranking

Show other rankings
Like 三橋 遥香's Story
Let 三橋 遥香's company know you're interested in their content