メインコンテンツまでスキップ

React を用いたアプリ作成

この章では教材の「React」の内容を扱っています。


ToDo リスト

以下のような本格的な ToDo リストを作ってみましょう。

  • ToDo のカテゴリを自分で作成できます
  • カテゴリごとにタスクを追加することができます
  • ToDo の削除・編集ができます
  • ToDo が完了したらチェックをつけることができます
  • カテゴリを削除するとその配下にある ToDo も削除されます

ヒント

以下ヒントです。

ヒント1

いきなりデザインも機能も同時に本格的にするのは複雑なので、まずは最小限の機能に焦点を絞るのがよいでしょう。手始めに、カテゴリなどは考えず ToDo を追加・削除・編集するアプリを作ってみましょう。この教材の React の章で簡単な ToDo アプリを実際に作っている箇所もあるので、そちらも参考にしてみましょう。

ヒント2

大まかにみれば、肝心の ToDo に関しては次のようなモデル(型)を用意すればよさそうです

type Todo = {
id: number, // ToDoのid
category: string, // ToDoの属するカテゴリ
content: string, // ToDoの内容
isDone: boolean, // ToDoが完了しているかどうか
};

そして複数の ToDo をまとめてリストとして管理します。

const [todos, setTodos] = useState<Todo[]>([]);

const addTodo = (newTodo: Todo) => {
// todosを更新する操作
};

const updateTodoContent = (id: number, newContent: string) => {
// todoの内容を更新する操作
};

const updateTodoIsDone = (id: number) => {
// todoが完了したかを更新する操作
};

const removeTodo = (id: number) => {
// todosを削除する操作
}

また、カテゴリもリストに格納して管理できます。

const [categories, setCategories] = useState<string[]>([]);

const addCategory = (newCategory: string) => {
// カテゴリを追加する操作
}

const removeCategory = (existingCategory: string) => {
// カテゴリを削除する操作
}

解答例

以下解答例です。