Build this React To-Do List app in 20 minutes! ☝

Поделиться
HTML-код
  • Опубликовано: 16 янв 2025

Комментарии • 57

  • @BroCodez
    @BroCodez  Год назад +65

    I apologize if my voice sounds strained. I had to record this video 3 separate times because it wouldn't turn out right. My voice REALLY hurts 😂
    import ToDoList from './ToDoList.jsx';
    function App() {
    return ()
    }
    export default App
    import React, { useState } from 'react'
    function ToDoList(){
    const [tasks, setTasks] = useState([]);
    const [newTask, setNewTask] = useState("");
    function handleInputChange(event){
    setNewTask(event.target.value);
    }
    function addTask(){
    if(newTask.trim() !== ""){
    setTasks(t => [...t, newTask]);
    setNewTask("");
    }
    }
    function deleteTask(index){
    const updatedTasks = tasks.filter((_, i) => i !== index);
    setTasks(updatedTasks);
    }
    function moveTaskUp(index){
    if(index > 0){
    const updatedTasks = [...tasks];
    [updatedTasks[index], updatedTasks[index - 1]] =
    [updatedTasks[index - 1], updatedTasks[index]];
    setTasks(updatedTasks);
    }
    }
    function moveTaskDown(index){
    if(index < tasks.length - 1){
    const updatedTasks = [...tasks];
    [updatedTasks[index], updatedTasks[index + 1]] =
    [updatedTasks[index + 1], updatedTasks[index]];
    setTasks(updatedTasks);
    }
    }
    return(

    To-Do-List



    Add



    {tasks.map((task, index) =>

    {task}
    deleteTask(index)}>
    Delete

    moveTaskUp(index)}>


    moveTaskDown(index)}>
    👇


    )}

    );
    }
    export default ToDoList
    body{
    background-color: hsl(0, 0%, 10%);
    }
    .to-do-list{
    font-family: Arial, sans-serif;
    text-align: center;
    margin-top: 100px;
    }
    h1{
    font-size: 4rem;
    color: white;
    }
    button{
    font-size: 1.7rem;
    font-weight: bold;
    padding: 10px 20px;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.5s ease;
    }
    .add-button{
    background-color: hsl(125, 47%, 54%);
    }
    .add-button:hover{
    background-color: hsl(125, 47%, 44%);
    }
    .delete-button{
    background-color: hsl(10, 90%, 50%);
    }
    .delete-button:hover{
    background-color: hsl(10, 90%, 40%);
    }
    .move-button{
    background-color: hsl(207, 90%, 64%);
    }
    .move-button:hover{
    background-color: hsl(207, 90%, 54%);
    }
    input[type="text"]{
    font-size: 1.6rem;
    padding: 10px;
    border: 2px solid hsla(0, 0%, 80%, 0.5);
    border-radius: 5px;
    color: hsla(0, 0%, 0%, 0.5);
    }
    ol{
    padding: 0;
    }
    li{
    font-size: 2rem;
    font-weight: bold;
    padding: 15px;
    background-color: hsl(0, 0%, 97%);
    margin-bottom: 10px;
    border: 3px solid hsla(0, 0%, 85%, 0.75);
    border-radius: 5px;
    display: flex;
    align-items: center;
    }
    .text{
    flex: 1;
    }
    .delete-button, .move-button{
    padding: 8px 12px;
    font-size: 1.4rem;
    margin-left: 10px;
    }

    • @dev.java_0
      @dev.java_0 Год назад +2

      yeah its okay

    • @YS-cc1nk
      @YS-cc1nk Год назад

      I bet you got it twisted!!

    • @ISpeakOnly
      @ISpeakOnly Год назад +1

      When are you going to post the full course of React JS? I am waiting for it!

    • @xzex2609
      @xzex2609 Год назад +4

      your voice is great , your voice is what we love and don't be hard on your self

    • @s-qc9ns
      @s-qc9ns 8 месяцев назад

      use ai to clear your voice in the video.

  • @valerylouis6747
    @valerylouis6747 Год назад +18

    One of the best tutorials on how to do a todolist in react.

  • @michaelschroeder3091
    @michaelschroeder3091 Год назад +11

    I just watched your entire react course this far and it have been a life saver thank you! You taught me Java, C, HTML, CSS, JS and Python, literally helped carry me through my degree.

  • @CarCinCal
    @CarCinCal Год назад +1

    THIS! 👏🏽 TUTORIAL! 👏🏽 IS! 👏🏽 THE DOPEST! 👏🏽 INTRO! 👏🏽 TUTORIAL! 👏🏽 TO! 👏🏽 REACT! 👏🏽 PERIOD! 👏🏽

  • @hasnainmalik8982
    @hasnainmalik8982 Год назад +5

    Please never stop making this kind of useful video...❤

  • @abrahamsimonramirez2933
    @abrahamsimonramirez2933 Год назад +9

    Petition for a Svelte course, I am starting to watch a 20 hour long one, since svelte is less troublesome than react it could be possible to have a comprehensive course in maybe 5-8 hours plus I like your style. I will anyways check documentation when I get some time to spare. No pressure though just an idea you'll perhaps like, ❤

  • @greengoatsh1t888
    @greengoatsh1t888 Год назад +2

    Hoping that you will upload more videos in react js. I've been watching your videos from HTML,CSS,JS and this react js tutorial your videos are very understandable. I hope this coming 2024 I will be a frontend developer as a stepping stones into full stack developer.

  • @shaikshahed413
    @shaikshahed413 7 месяцев назад +1

    The best todo list app teaching on youtube by React

  • @kolya_SAKHA
    @kolya_SAKHA Год назад +1

    Thank you so much for these useful videos, your voice is calm and your videos are so understandable 🙏

  • @x..darkfate..x
    @x..darkfate..x 8 месяцев назад +2

    Quick and clean but it take time to understand the logic how the up and down function work

  • @learnwithraj23
    @learnwithraj23 Месяц назад

    Please make a complete ecommerce project in react your teaching style is just awesome...

  • @al-cadaalachannel3194
    @al-cadaalachannel3194 Год назад +1

    Thanks dear tutor. Useful video

  • @rohannaidu6277
    @rohannaidu6277 7 месяцев назад

    I just logged in to RUclips to tell you thank you for this.

  • @thierrynoemy8344
    @thierrynoemy8344 2 месяца назад

    Thank you for sharing !!👌🙏🙏

  • @syedmajid3202
    @syedmajid3202 4 месяца назад

    Thanks for video!👍

  • @danielo_tunes1922
    @danielo_tunes1922 7 месяцев назад

    Thanks bro, very helful for my first react app

  • @mediasmithsllc3052
    @mediasmithsllc3052 5 месяцев назад

    Awesome video. One of the easier ones to follow that made sense and was short and to the point.
    How would you include an option to edit an item on the list?
    (Thanks again and keep up the great work)

  • @deeplife9654
    @deeplife9654 Год назад

    Hey bro. So happy to see you back in making video on but please make video for Springboot too

  • @miltonkumirai
    @miltonkumirai Месяц назад

    Well explained 🤝

  • @mr.RAND5584
    @mr.RAND5584 5 месяцев назад

    Nice👍

  • @AdanJelle-wt4zu
    @AdanJelle-wt4zu 6 месяцев назад

    thank you so much greate man

  • @Spacetime23
    @Spacetime23 2 месяца назад

    thank you soo much !!

  • @otabekmadaminov-z2i
    @otabekmadaminov-z2i 3 месяца назад

    Thank you bro

  • @aninh7456
    @aninh7456 Год назад

    can you make a video guide about vuejs, nodejs? We are looking forward to it!!!

  • @TealComet
    @TealComet 3 дня назад

    Thanks for the tutorial. Would you mind saying how you got the hot reload working please?
    EDIT : I found out that if I leave the command window open after starting a project, hot reload works.

  • @OCEMTechZone
    @OCEMTechZone Месяц назад

    Great

  • @kathikr9360
    @kathikr9360 9 месяцев назад

    thank you

  • @nickinspire1
    @nickinspire1 Год назад +1

    Thanks bro, can you make a flutter tutorial please? I hope you see this comment

  • @NoobExploits
    @NoobExploits Год назад

    You should create lua guides

  • @McDonuts1675
    @McDonuts1675 Год назад +1

    Hello i’m new. What is he using for a platform to write the code and run it? I use apps on my Mac, like Hello Web and know about note pad. curious as to what else i can use.

  • @ireqkub
    @ireqkub 3 месяца назад

    21:12 I wrote according to the video and it said that error. I attempted to find the cause of error. I read it and I don't understand it. But just putting a single semi-colon (;) end of the line, The error is gone :>

  • @andromilk2634
    @andromilk2634 11 месяцев назад

    When an element ends up moving up or down by using the function, we update our new array. Does this mean we also recreate the mapping with the new positioned elements by reinserting them into the unordered list? (Because we also need to take into account that the element which have changed position have take new indexes, so we have to readjust their id, index given to the callback functions, etc.) ?

  • @loke3969
    @loke3969 8 месяцев назад

    Hello Bro, can you make a video on the redux toolkit.

  • @harshasrinivas4745
    @harshasrinivas4745 Год назад

    Can you please add edittask to this.

  • @andromilk2634
    @andromilk2634 11 месяцев назад

    By the way, I just tested the code and it seems that I'm still able to enter input even though I removed the " value={newTask}" line?

    • @Zomoroda89
      @Zomoroda89 6 месяцев назад

      yes but if you leave it and not set it you won't be able to,
      this code allows us to get the input value when the button is clicked using useState hook without the need to access the DOM

  • @eharsha7389
    @eharsha7389 Год назад

    Make video for destructuring

    • @kadirertan8664
      @kadirertan8664 Год назад +1

      21:10 he says "i do have a seperate video on destructuring if you need a refresher".

  • @Zomoroda89
    @Zomoroda89 6 месяцев назад +1

    this line keeps giving me this error !
    [updatedTasks[index], updatedTasks[index - 1]] =
    [updatedTasks[index - 1], updatedTasks[index]];
    the error : Cannot access 'updatedTasks' before initialization

    • @eduardokawaguchi3086
      @eduardokawaguchi3086 4 месяца назад

      i had some problems there too. all i had to do is put a semicolon at the end of the variable above. like this:
      const updatedTasks = [...tasks];

  • @Vc-1111
    @Vc-1111 Месяц назад

    The whole CSS section, which is about 1/3th of the video, could just be npm i bootstrap, and adding the classes. I don't get why people do CSS themself these days.

  • @Vinishmachado
    @Vinishmachado 7 месяцев назад

    source code anyone

  • @georgenikou
    @georgenikou 10 месяцев назад

    Only a little bit stinky huh lol

  • @shaikshahed413
    @shaikshahed413 7 месяцев назад

    The best todo list app teaching on youtube by React