React Todo screenshot

React Todo

Updated: 28 Sep 2020
31 Stars

Overview

The React-Todo project is an engaging exercise in building a stateful class component. While hooks are indeed becoming more prevalent among React developers, mastering class components remains essential for anyone working in React environments. This Todo List application provides the perfect platform to get comfortable with class components through practical application. It’s a hands-on way to solidify your React skills while creating a functional and customizable to-do list.

The project encourages creativity, allowing you to design the Todo List as you see fit, while also providing clear guidelines and functionalities to implement. From maintaining an array of todo objects to allowing users to add, complete, and delete tasks, this project encapsulates the essential concepts of state management in React class components and gives you a solid grasp of building interactive applications.

Features

  • Stateful Class Component: Learn how to manage state effectively by implementing a class-based component that tracks the todo list.

  • Todo Data Structure: Utilize an array of objects for your todos, with properties like task, completed status, and unique IDs based on timestamps.

  • Dynamic Rendering: As users interact with the app by adding or completing tasks, the component efficiently re-renders to reflect these changes immediately on the screen.

  • Input Handling: Users can input their todos through a designated input field, enhancing user experience with the ability to submit tasks via Enter key or a button click.

  • Toggle Completion: Implement functionality to toggle the completed status of a todo, visually indicating completion through styles such as a line-through.

  • Clear Completed Tasks: Add a feature that allows users to filter and remove completed tasks from their list, keeping the to-do list tidy and manageable.

  • Branching Workflow: Gain experience with version control by creating branches, committing changes, and submitting pull requests to merge your work into a main repository.