Full React Tutorial #27 - Controlled Inputs (forms)

Sdílet
Vložit
  • čas přidán 18. 01. 2021
  • Hey gang, in this React tutorial we'll see how to use input fields & track what a user types into them, using controlled inputs.
    🐱‍💻 🐱‍💻 Course Files:
    + github.com/iamshaunjp/Complet...
    🐱‍👤🐱‍👤 JOIN THE GANG -
    / @netninja
    🐱‍💻 🐱‍💻 My Udemy Courses:
    + Modern JavaScript - www.thenetninja.co.uk/udemy/m...
    + Vue JS & Firebase - www.thenetninja.co.uk/udemy/v...
    + D3.js & Firebase - www.thenetninja.co.uk/udemy/d...
    🐱‍💻 🐱‍💻 Helpful Links:
    + HTML & CSS Course - • HTML & CSS Crash Cours...
    + Modern JavaScript course - • Modern JavaScript Tuto...
    + Get VS Code - code.visualstudio.com/
    🐱‍💻 🐱‍💻 Social Links:
    Facebook - / thenetninjauk
    Twitter - / thenetninjauk
    Instagram - / thenetninja

Komentáře • 176

  • @dynerushd7517
    @dynerushd7517 Před 3 lety +192

    The fact that this react course is completely free is insane, Your way of teaching is really clear and easy to understand. Keep it up my man you are god given.

  • @spenny680
    @spenny680 Před 3 lety +143

    /* create new blog form */
    .create {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    }
    .create label {
    text-align: left;
    display: block;
    }
    .create h2 {
    font-size: 20px;
    color: #f1356d;
    margin-bottom: 30px;
    }
    .create input, .create textarea, .create select {
    width: 100%;
    padding: 6px 10px;
    margin: 10px 0;
    border: 1px solid #ddd;
    box-sizing: border-box;
    display: block;
    }
    .create button {
    background: #f1356d;
    color: #fff;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    }

  • @gradientO
    @gradientO Před 3 lety +35

    Off-topic, but can you show your desk setup?

  • @emmanuelamodu2390
    @emmanuelamodu2390 Před 3 lety +9

    Thank you so much, having such quality content for free is mindblowing

  • @maskman4821
    @maskman4821 Před 3 lety +45

    recap
    this episode talks about two-way data binding ( a very important concept in reactjs, usually used in form element )
    1. assign a dynamic value to 'value' attribute of input/textarea/select element.
    example
    const [name, setName] = useState('mario')
    2. listen 'change' event with a handler (anonomous function) to set value, for example
    setValue(e.target.name)}>
    thats it !!!

    • @yashrdoshi
      @yashrdoshi Před 2 lety +3

      I'm reading your recap in every video. That's really useful !!

    • @jackw.3978
      @jackw.3978 Před 2 lety +2

      @@yashrdoshi I still don't understand why exactly the value of the input needs to be set to the the dynamic value. And why it is letting him change the text in the input after he implements the onChange event. Would like to understand what happens in the background...

    • @carmensandoval5581
      @carmensandoval5581 Před 2 lety +2

      @@jackw.3978 Great question Jack! The onChange attribute fires everytime the value of the input is changed. And since the onChange event is grabbing a reference of the value attribute's value to set a state variable, we must set the value attribute to a 'dynamic value'. I hope this helps.

    • @nielfollero5
      @nielfollero5 Před rokem +2

      What I don't understand is why do we need to assign the value of an input since we don't use this in anything. When we need the value of that input, we use the state to process it(maybe pass it in the backend or something), not get the actual value reference from the actual element.

  • @pulledporksammiches
    @pulledporksammiches Před rokem +15

    I would hit the like button every time i watch this if I could. Great way of explaining React my dude. It's been hard for me to understand React, but in the last several months, I've been determined to get really good. I've watched this video like 5 times already easily. And every time I do, I can confirm that it has sunk in way more every time.

    • @NetNinja
      @NetNinja  Před rokem +4

      That's fantastic to hear Susan, sometimes it takes a while to cement in, but once it does, hopefully it sticks :) I find that application and giving yourself little challenges help aid this even more so! (learn by doing).

  • @tarekghosn3648
    @tarekghosn3648 Před rokem

    even though i watched your videos before and coded with you. this coming back to them shows me more detail. thank you

  • @01dicktracy
    @01dicktracy Před rokem

    I did not know I can understand everything so easy. Thank you so much Shaun!

  • @wanyingli246
    @wanyingli246 Před 3 lety +15

    I watched this series yesterday and I catch up with it today! Shaun is definitely a life saver! I bought some React course in Udemy and I just can't stand the instructor's speaking tone, and I am easily distracted by hearing this, but I love shaun's teaching style!

    • @juggysingh1470
      @juggysingh1470 Před 3 lety +3

      I have done the same, following courses from Udemy, but never fully grasping REACT as I also had issues with the tutors way of explaining too, until that is I found Net Ninja, he is a Legend!!!!

    • @kashmirtechtv2948
      @kashmirtechtv2948 Před 2 lety +2

      But where to go from here after finishing this series?

  • @LGgos
    @LGgos Před rokem

    thank you it helped me quickly understand how it works after I had an implementation question in an interview that didn't go so well

  • @shingiraibondai747
    @shingiraibondai747 Před 2 lety

    Short and precise , I LOVE IT. 😍😍😍😍

  • @hayoudoing
    @hayoudoing Před 9 měsíci +1

    Straight to the point. Thanks a lot!

  • @juggysingh1470
    @juggysingh1470 Před 3 lety +5

    If you want to use default text in your input, then have it clear on click, here is an example of how to do it;
    // input state
    const [title, setTitle] = useState('Default Text'); // add initial title state value here
    setTitle(e.target.value)}
    onClick={(e) => setTitle('')} // clear input on click
    />
    Also, thanks for your great work Net Ninja, I have subbed now, as that's the least I can do for your great tutorials.

    • @shahiqqureshi7652
      @shahiqqureshi7652 Před 4 měsíci

      Good suggestion, personally I think it might be better to use the placeholder attribute, because if someone goes back to edit that field it will reset.

  • @michaelandersen8570
    @michaelandersen8570 Před 3 lety +7

    Honestly you just might get me at job next week. I've got a test coming up this Thursday and this series is just *chef's kiss*. Thank you SO much. I'll be sure to send some money in your direction if it goes well. There is so much content on CZcams but none that fits my current level better than yours. It is wonderful to know that your content is up-to-date, uses best practices, and is of great production value. The Github repo is also super nice to have. 💪

    • @TheRahulDBZ
      @TheRahulDBZ Před 3 lety +3

      Good luck

    • @michaelandersen8570
      @michaelandersen8570 Před 3 lety +10

      Got the job! Gonna sign up for the Udemy course.😎

    • @michaelandersen8570
      @michaelandersen8570 Před 3 lety +2

      @@TheRahulDBZ Thank you. Pretty stoked about it. 🚀

    • @mistersir3185
      @mistersir3185 Před 3 lety +2

      @@michaelandersen8570 any important tips you can give to someone like me who's looking to apply for jobs?

    • @michaelandersen8570
      @michaelandersen8570 Před 3 lety +4

      @@mistersir3185 I can only speak for myself, and to be honest a lot of it has to do with pure luck. Best tip I can give is to code as much as you can and put it on Github. Make your own stuff and take inspiration from tutorials in the beginning - but avoid pure copying. When you have built a few small projects you'll have confidence in yourself and it will reflect in the way you write about yourself in your resume. I think recruiters pick up on this. And it will also help tremendously at an interview.

  • @TripeDemo
    @TripeDemo Před rokem

    Extremely useful and simple explanation, thank you!

  • @WEBDEVIndo
    @WEBDEVIndo Před 3 lety +2

    awesome mentor. I am sure he is really expert in this field .

  • @giroda
    @giroda Před 2 lety

    splendid narration, neat and clear, top!

  • @jAMES-xy6wh
    @jAMES-xy6wh Před 2 lety +1

    I came here to learn about React Router, and I found a goldmine of information. What a fabulous course!! And it is Free? How do I compensate you for your labor?

  • @ohitsmekirst
    @ohitsmekirst Před 3 lety

    Not one to comment usually but this might just be the best explanation I've seen. Top quality content!

  • @alexmwansa6414
    @alexmwansa6414 Před 2 lety

    You have no idea how much I love your videos and how much they have helped me. Thank you for your service.

  • @digvijayyamagekar4300

    this is some quality stuff bro, thanks for putting it on youtube for free 🤩

  • @rogeclash2631
    @rogeclash2631 Před rokem

    As always many thanks for teaching all these

  • @adriennegrace2465
    @adriennegrace2465 Před 3 lety +2

    Thank you - loving this series so far! One comment - for accessibility, you should keep the htmlFor attribute in the label and use the input id attribute, so they are connected.

    • @TimWinfred
      @TimWinfred Před 2 lety +2

      Yes! Literally was just about to say this!!!

  • @melindamurillo4680
    @melindamurillo4680 Před 2 lety

    Extremely helpful. Thank you very much

  • @simonkalu
    @simonkalu Před 3 lety +8

    I'm proud of net ninja

  • @peterluo1776
    @peterluo1776 Před rokem +1

    This got to be the simplest explanation I've encountered.
    Awesome video..
    Thanks for sharing 👍

    • @NetNinja
      @NetNinja  Před rokem +2

      Thanks for watching Peter :)

  • @learningit2572
    @learningit2572 Před rokem

    Net Ninja, You are a Legend!!!! Best of the Best

  • @umuthankuzur3184
    @umuthankuzur3184 Před 3 lety +2

    Hi ninja. Thx for all the playlist again. But i have a question in particular this session. U wrote repetitive code in this file to handle state but u could eliminate code via using a form state object. Why didnt u that? Is because of u dont want trigger updating whole object on all types? Is this for upgrading performance?

  • @0x0abb
    @0x0abb Před 2 lety

    awesome work - once again

  • @wenlongzhang5262
    @wenlongzhang5262 Před rokem +1

    Great tutorial of controlled inputs! I cannot thank you more!

  • @arrozfritoo
    @arrozfritoo Před 3 lety +2

    3:07 thats was the best uh uh i heard in my life

  • @melssf7852
    @melssf7852 Před rokem +1

    have I told you lately that I love you? :D You just took something that was confusing me and simplified it so well. Your free content led me to buy one of your udemy courses and I plan to buy a few more because you explain things in a way that just clicks for me. Thank you Shaun, truly...

    • @NetNinja
      @NetNinja  Před rokem +1

      That is awesome to hear Mels :) your support is much appreciated!

  • @jagaroTV
    @jagaroTV Před 5 měsíci

    This is much better than a paid tutorial..EXCELLENT JOB NET NINJA

  • @Gamerfan2000
    @Gamerfan2000 Před 2 lety

    Hello Shaun,
    Can you please tell me, what extension you used for the javascript syntax theme? For example yellow for the variable/method declarations and purple for the return method, etc? Thank you in advance,
    PS. Your tutorials are the best on the internet. Cheers :)

  • @heroinedecheshire7065
    @heroinedecheshire7065 Před 5 měsíci

    You're amazing! I always thought forms are a pain in React but you cleared them up for me! These videos are amazing and this is what passion looks like!

    • @NetNinja
      @NetNinja  Před 5 měsíci +1

      That's brilliant to know :) glad it helped!

    • @terrencejanairo2675
      @terrencejanairo2675 Před 5 měsíci

      @@NetNinja do you have router v6 in this project?

  • @chhumchanleak7642
    @chhumchanleak7642 Před 2 lety

    Thank you mr for saving me from headache

  • @mohammedsaheed9847
    @mohammedsaheed9847 Před 2 lety

    It's really awesome having this tutorial for free. Thank you very much. However, I'd like to know if it's possible to use json server for authentication, or if you have any tutorial on user form validation and authentication with json. Thank you

  • @averageromanian3940
    @averageromanian3940 Před rokem +1

    A complex topic made simple. Very nice video!

  • @pauloferreira4040
    @pauloferreira4040 Před 2 lety +1

    Maybe a dumb question, but why do you need the code on line 14 (value = {title})? The person typing inside the text field is already changing its value right? Correct me if I am wrong, but I believe that this code would be useful in situations when the {title} is changed (using the setTitle, of course) by some external event (not necessary for this specific blog page example of yours), e.g., a case where we could allow the user to come back to an unfinished blog entry and the title input field would then be populated with the contents of an earlier-entered {title} variable. Is that the right way of seeing this? thanks

  • @Human_Evolution-
    @Human_Evolution- Před 3 lety

    The best vieo on this subject. I spent 45 min looking until I found you. All others are inferior.

  • @GiancarloCarccamo
    @GiancarloCarccamo Před 2 lety

    great video man

  • @njabulothwala5152
    @njabulothwala5152 Před 2 lety

    This is so Good man 😁😁😁

  • @ruin9
    @ruin9 Před 3 měsíci +1

    I really love this accent ,keeps the video interesting

    • @NetNinja
      @NetNinja  Před 3 měsíci +1

      Thank you! 😃 I made it myself

  • @jakubbarabasz3560
    @jakubbarabasz3560 Před rokem

    Realy helpful series!!!

  • @adamksiazkiewicz3643
    @adamksiazkiewicz3643 Před rokem

    Very good stuff. Save my day.

    • @NetNinja
      @NetNinja  Před rokem

      Glad to hear it! Thanks for watching Adam :)

  • @imgrori5435
    @imgrori5435 Před 8 měsíci

    You're the goat

  • @mohityadav21
    @mohityadav21 Před 2 lety

    3:05 Wohoo!! I love this small funny things 😍

  • @timtech9361
    @timtech9361 Před 2 lety

    This is great and all. But what if you have a button that duplicates your Create component. Now you have two input Create components. Your state auto saves the input permanently from the first Create component. How do you reset the state to initial so we can have two Create components producing two DIFFERENT values on render?

  • @tomasburian6550
    @tomasburian6550 Před 2 lety

    This is a good tutorial. But I would definitely need to know how to use buttons to set a boolean variable from false to true and vice versa.

  • @dileepbannikatti7900
    @dileepbannikatti7900 Před 3 lety

    Please cover all scenario like check box radio button and check tree view and complex form validation and getting response ,api crud operation

  • @umarislam3315
    @umarislam3315 Před 2 lety

    Do we need state management system such as redux for modern reactjs apps?

  • @ibrahimkaarich2192
    @ibrahimkaarich2192 Před rokem

    Hey M
    y prof i wish you're good and having a nice day please i have a question is this the full Tut of REACT i mean is will be more videos about REACT in this is playList

  • @ahmedpatel408
    @ahmedpatel408 Před rokem

    TY Mate

  • @emmuoriginals5296
    @emmuoriginals5296 Před 3 lety

    Thanks ninja

  • @cobycole23
    @cobycole23 Před měsícem

    Is it possible to set the state for all your inputs at once with the onchange function 🤔?

  • @nizarkadri3109
    @nizarkadri3109 Před 2 lety

    Can we use same id in different components , I mean if I have a in Home and in BlogDetails, is it valid?

  • @BlackDev
    @BlackDev Před 2 lety

    remember when this looked foreign fells nice being able to read through so fluently humans are amazing

  • @kashmirtechtv2948
    @kashmirtechtv2948 Před 2 lety

    Very useful

  • @marek19922209
    @marek19922209 Před 5 měsíci

    Instead of using routing from react we can use fetching from backend ?

  • @tarokins
    @tarokins Před 3 lety +2

    Form Styles:
    /* create new blog form */
    .create {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    }
    .create label {
    text-align: left;
    display: block;
    }
    .create h2 {
    font-size: 20px;
    color: #f1356d;
    margin-bottom: 30px;
    }
    .create input, .create textarea, .create select {
    width: 100%;
    padding: 6px 10px;
    margin: 10px 0;
    border: 1px solid #ddd;
    box-sizing: border-box;
    display: block;
    }
    .create button {
    background: #f1356d;
    color: #fff;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    }

  • @nylivehc9008
    @nylivehc9008 Před rokem

    I don't know why I laugh with the yohoo! 😂

  • @kushagramandal1501
    @kushagramandal1501 Před 3 lety +2

    Hello there, just wanted to know when this playlist will be completed?
    Awesome work BTW!

  • @mohamedchine-ky6yk
    @mohamedchine-ky6yk Před 8 dny

    hey great video , btw is it bad if we get the value of the inputs directly with getelementbyid and we delete all the usestates
    like for example instead of this :
    [x,setx]=usestate("")
    {setx(e.target.value)}} />
    we do this :
    x=document.getelementbyid(x);
    because tbh i dunno what's the use of the usestates with the form

  • @echo991
    @echo991 Před rokem

    Is it necessary to set the input value to the dynamic title/author state? It doesn't appear to do anything.

  • @eltoneycomerad8758
    @eltoneycomerad8758 Před 3 lety

    You are Great

  • @chanandlerbong6176
    @chanandlerbong6176 Před 2 lety

    so whenever any input field change happens whole form will be re rendered right? How to avoid that?

  • @kingsleymgbachi5662
    @kingsleymgbachi5662 Před rokem

    which plugin do you use to get the html autocomplete?

  • @Mahmudulhasan-ts5hm
    @Mahmudulhasan-ts5hm Před 3 lety

    thanks brow

  • @belafekete3125
    @belafekete3125 Před 3 lety

    Great tutorial!
    Thanks Ninja
    How can I use the public folder?

    • @RajvirSingh1313
      @RajvirSingh1313 Před 3 lety

      It is just laying around there but it is handy when you have images and other static stuff that will be okay to be open to see by the public. src and other folders are kinda private or you could say the stuff that only you could see means the source code and one more thing I want to tell you that you should learn next.js too as it would be more good and robust combination with react. And you can learn more about next.js in this video czcams.com/video/Sklc_fQBmcs/video.html&t. I hope I helped you , have a nice day

  • @nihaljain246
    @nihaljain246 Před 3 lety +1

    If the state variable is const, how can it be updated?
    I tried looking at the React docs for the useState hook but they didn't comment on this. I am just starting out with JS & React, so not sure if I was looking at the right places for the answer. It would be nice to know your comments on this, Shaun.

    • @codewithfarhad8594
      @codewithfarhad8594 Před 3 lety +4

      state is not variable, we are destructing an array when we say const [x, y] = useState(""). and this is the regular behavior of const. const is storing reference to the array which can not be changed/reassigned. but we are not changing/reassigning the array here. We are just changing one of the values/variables stored in the said array, in this case, the value of x. Hope this helps. also if you want to study further just search on youtube for something like "difference between const, var, and let in javascript"

    • @Colstonewall
      @Colstonewall Před 3 lety +1

      If you look at this video (czcams.com/video/dzEieWaOJE0/video.html) at about 4:14 it explains this fairly well. As Ali stated in his comment, this is an Array, and an Array (with Const) can be updated. The video doesn't talk about React, but about Const and when/if it can be updated.

  • @elyeskabous2343
    @elyeskabous2343 Před 7 měsíci

    Thank you so much

    • @NetNinja
      @NetNinja  Před 7 měsíci

      No problem :) hope it was helpful

  • @shadebinder3599
    @shadebinder3599 Před rokem

    For some reason my button add blogs isn't in the center, its aligned with the left side of the boxes

  • @anmolagarwal5952
    @anmolagarwal5952 Před 3 lety +1

    is it wrong to just trigger a onclick when submit button is clicked and just fetch value of all fields. This way we can escape all that react js extra redundant code.

  • @jochenade
    @jochenade Před rokem

    Thanks!

    • @NetNinja
      @NetNinja  Před rokem

      Thanks for your support Jochen, it's much appreciated!

  • @jamshoot6475
    @jamshoot6475 Před 11 měsíci

    3:08 i really like that woohoo sound at 2x

  • @Sukaichae
    @Sukaichae Před 8 měsíci

    woohoo!

  • @user-yz6hr5wd9e
    @user-yz6hr5wd9e Před 6 měsíci

    When i start type in the input i lost focus like input rerender and can type only once? Why is that?

  • @ridl27
    @ridl27 Před 3 lety

    ty

  • @GabrielMartinez-ez9ue
    @GabrielMartinez-ez9ue Před 2 lety

    Quick question: if we set a state using const, how come later on we can update that value? const values cannot be updated

    • @kyenee
      @kyenee Před 2 lety +1

      We create state using const but the state is not a data type so it doesn't act like a simple value. Process is done by state not const directly

    • @vermusl6316
      @vermusl6316 Před 2 lety

      Watch the useState video again, he already explained there

  • @hoanglongpham5907
    @hoanglongpham5907 Před 3 lety

    I have an idiot question but i need to understand? We use Hook to replace props and State in Class Component right? please explain for me, because i don't see Shaun talk about props and state?

    • @NetNinja
      @NetNinja  Před 3 lety +2

      Hooks are another option that can be used to manage state as well as for other things. You can use the useState hook in a functional component for that component to have state, instead of relying on a class-based component for state. Props are not replaced at all by hooks, they are still very relevant and needed to pass data from one component into another. I covered props earlier in the course (lesson 11, 12, 13) :)

    • @hoanglongpham5907
      @hoanglongpham5907 Před 3 lety

      @@NetNinja it means, we don't need create state when using hook like create state in class component, right ? so anyway, thank you a lots for replying me

    • @prashanttanwar3261
      @prashanttanwar3261 Před 3 lety

      @@hoanglongpham5907 Hooks are used with functional components because functional components dont have state like class components do BUT by using hooks we can add state to our functional components.

  • @westernpigeon
    @westernpigeon Před 2 lety

    why are there no tutorials on class components? ANYWHERE on the internet?

  • @MohitRakhade
    @MohitRakhade Před 3 lety +1

    3:08 ooh wwwoh

  • @aybak3k
    @aybak3k Před 3 lety +1

    const [title, setTitle] = useState('')
    const [body, setBody] = useState('')
    const [author, setAuthor] = useState('mario')

  • @Invitamu
    @Invitamu Před rokem

    i like your yuuhuu in the video HAHAHA

  • @Shou06
    @Shou06 Před 3 lety

    why dont you create a course for react along with nextjs in udemy

  • @TheForestofNoobs
    @TheForestofNoobs Před 3 měsíci

    "whooohouuu" :D

  • @user-xb7xp5kj9n
    @user-xb7xp5kj9n Před rokem

    wooohooo

  • @nikitalukashuk2978
    @nikitalukashuk2978 Před 3 lety

    I was a littile bit confused, because i haven't known that select has "value" property

  • @sinnie.62.
    @sinnie.62. Před 12 dny

    It seems i am the only one who is not able to fetch data when clicking on the blog
    I even copy pasted from repo cause i was not able to find my mistake can some one help

  • @Hustada
    @Hustada Před rokem

    Is it possible to use "useState" one time for all inputs?

    • @oscaralderete8156
      @oscaralderete8156 Před rokem

      Actually yes. You need to define an object variable for the new BLOG content, something like:
      const [blog, setBlog] = setState({
      title: '',
      body: '',
      author: 'mario'
      })
      then your inputs + textarea something like (take care that every element has a NAME attribute because this is how you can identify them later):
      mario
      yoshi
      now, you can set all of your elements with just one function, handleInput:
      const handleInput = (e) => {
      setBlog({
      ...blog,
      [e.target.name]: e.target.value
      })
      }
      a) You need to be familiarized with the JS concept of destructuring, so "...blog" means we're getting all properties of "blog" (title, body, author) in a new element, not "blog" per se because it's immutable.
      b) [e.target.name] is basically: title or author or body. You need to understand that (e) is the event on the form elements. "e.target" is every element per se: the input, the select and the textarea. Then, "e.target.name" is the name of the element, so it's respectively: title, author and body.
      c) e.target.value: is the current value of the input, the select and the textarea.
      To finalize, when you need to post, you don't have to declare a new variable as in the video, you just post "blog":
      fetch(url, {
      method: 'POST',
      headers: 'Content-Type: application/json',
      body: JSON.stringify(blog)
      })
      React needs you're familiar with some kind of JS concepts like deconstructuring; in the same way you will use .map() a lot to mapping arrays to construct DOM elements. At the end it's just practice, practice and more practice.

  • @NBA6Fan
    @NBA6Fan Před 3 lety

    Why do we need value then if we have state that gets the value onChange?

    • @marcisberzins7246
      @marcisberzins7246 Před 2 lety

      That is because when you make UseState(initialValue) in form you see initial Value in that field.

  • @lonedruid3360
    @lonedruid3360 Před rokem

    long live brother

  • @jalaliyev
    @jalaliyev Před 3 lety

    Thanks Shaun🖤. But I think those react concepts very very basic which you told about it, I don't understand what is the main difference those two tutorials. Please prepare modern Redux tutorial that cover of the all topics in the documentation

  • @hughbillings8895
    @hughbillings8895 Před 3 lety

    .create {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    }
    .create label {
    text-align: left;
    display: block;
    }
    .create h2 {
    font-size: 20px;
    color: #f1356d;
    margin-bottom: 30px;
    }
    .create input, .create textarea, .create select {
    width: 100%;
    padding: 6px 10px;
    margin: 10px 0;
    border: 1px solid #ddd;
    box-sizing: border-box;
    display: block;
    }
    .create button {
    background: #f1356d;
    color: #fff;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    }

  • @yman_kh
    @yman_kh Před 3 měsíci

    I do not get what is the point of using value={title} in the input form!!!

  • @ProGumas
    @ProGumas Před 2 lety

    minute 3 very funny 🤣🤣🤣

  • @ahmedmustapha600
    @ahmedmustapha600 Před 6 měsíci

    pls where is the next tutorial and does it only stop at 27?

  • @learnwithpikes
    @learnwithpikes Před 3 lety

    great man always like your content.
    make a playlist on php latest one

  • @karthifairhawn9825
    @karthifairhawn9825 Před 2 lety

    3:08 fun Wo wo

  • @Eslam-ig2gf
    @Eslam-ig2gf Před rokem