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

Поділитися
Вставка
  • Опубліковано 11 жов 2024

КОМЕНТАРІ • 54

  • @BroCodez
    @BroCodez  9 місяців тому +54

    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;
    }

    • @JavaDoesThings
      @JavaDoesThings 9 місяців тому +2

      yeah its okay

    • @YS-cc1nk
      @YS-cc1nk 9 місяців тому

      I bet you got it twisted!!

    • @ISpeakOnly
      @ISpeakOnly 9 місяців тому +1

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

    • @xzex2609
      @xzex2609 9 місяців тому +3

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

    • @s-qc9ns
      @s-qc9ns 5 місяців тому

      use ai to clear your voice in the video.

  • @blaaaabla
    @blaaaabla 6 місяців тому +22

    I’m not a react beginner but experienced dev who just wanted to go back to good old times and watch some beginner tutorial and I truly loved and enjoyed this video. First time seeing your video and it’s absolutely nice and well explained. Keep up the good work and to the guys who are watching and maybe just starting - don’t give up, study hard and see you at the top!❤️❤️❤️

    • @Jim49267
      @Jim49267 4 місяці тому +1

      Do you brag about your experience?

    • @blaaaabla
      @blaaaabla 4 місяці тому

      @@Jim49267 hahah lol😀 i want to motivate the beginners which experience hard times right now and i want them to not give up because every experienced guy was a beginner once.

    • @bullymaguire2335
      @bullymaguire2335 3 місяці тому +2

      well he just did it lol

  • @valerylouis6747
    @valerylouis6747 9 місяців тому +14

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

  • @michaelschroeder3091
    @michaelschroeder3091 9 місяців тому +7

    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.

  • @abrahamsimonramirez2933
    @abrahamsimonramirez2933 9 місяців тому +7

    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, ❤

  • @hasnainmalik8982
    @hasnainmalik8982 9 місяців тому +5

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

  • @greengoatsh1t888
    @greengoatsh1t888 9 місяців тому +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.

  • @x..darkfate..x
    @x..darkfate..x 5 місяців тому +2

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

  • @shaikshahed413
    @shaikshahed413 4 місяці тому +1

    The best todo list app teaching on youtube by React

  • @kolya_SAKHA
    @kolya_SAKHA 9 місяців тому +1

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

  • @CarCinCal
    @CarCinCal 9 місяців тому

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

  • @deepaksngh9716
    @deepaksngh9716 3 місяці тому

    wow man this video is absolutely gem for me . i learned so many things from this . thanks a lot

  • @mediasmithsllc3052
    @mediasmithsllc3052 Місяць тому

    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)

  • @al-cadaalachannel3194
    @al-cadaalachannel3194 9 місяців тому +1

    Thanks dear tutor. Useful video

  • @syedmajid3202
    @syedmajid3202 25 днів тому

    Thanks for video!👍

  • @rohannaidu6277
    @rohannaidu6277 4 місяці тому

    I just logged in to UA-cam to tell you thank you for this.

  • @danielo_tunes1922
    @danielo_tunes1922 4 місяці тому

    Thanks bro, very helful for my first react app

  • @deeplife9654
    @deeplife9654 9 місяців тому

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

  • @otabekmadaminov-z2i
    @otabekmadaminov-z2i 21 день тому

    Thank you bro

  • @mr.RAND5584
    @mr.RAND5584 2 місяці тому

    Nice👍

  • @AdanJelle-wt4zu
    @AdanJelle-wt4zu 3 місяці тому

    thank you so much greate man

  • @kathikr9360
    @kathikr9360 6 місяців тому

    thank you

  • @aninh7456
    @aninh7456 9 місяців тому

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

  • @andromilk2634
    @andromilk2634 8 місяців тому

    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.) ?

  • @NoobExploits
    @NoobExploits 9 місяців тому

    You should create lua guides

  • @nickinspire1
    @nickinspire1 9 місяців тому

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

  • @ireqkub
    @ireqkub 4 дні тому

    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 :>

  • @loke3969
    @loke3969 5 місяців тому

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

  • @McDonuts1675
    @McDonuts1675 9 місяців тому +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.

  • @Zomoroda89
    @Zomoroda89 3 місяці тому +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 Місяць тому

      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];

  • @harshasrinivas4745
    @harshasrinivas4745 9 місяців тому

    Can you please add edittask to this.

  • @andromilk2634
    @andromilk2634 8 місяців тому

    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 3 місяці тому

      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 9 місяців тому

    Make video for destructuring

    • @kadirertan8664
      @kadirertan8664 9 місяців тому +1

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

  • @georgenikou
    @georgenikou 6 місяців тому

    Only a little bit stinky huh lol

  • @Vinishmachado
    @Vinishmachado 4 місяці тому

    source code anyone

  • @shaikshahed413
    @shaikshahed413 4 місяці тому

    The best todo list app teaching on youtube by React