This Is A Great Beginner React/TypeScript Project

  Рет қаралды 114,428

Web Dev Simplified

Web Dev Simplified

Күн бұрын

FREE React Hooks Course: courses.webdevsimplified.com/...
Hangman is the perfect beginner React project since it is easy enough logic-wise, but still includes many complicated problems to solve. In this video I will show you how I would create a hangman game in React.
📚 Materials/References:
FREE React Hooks Course: courses.webdevsimplified.com/...
GitHub Code: github.com/WebDevSimplified/r...
Regular Expression Video: • Learn Regular Expressi...
Array Methods Video: • 8 Must Know JavaScript...
🌎 Find Me Here:
My Blog: blog.webdevsimplified.com
My Courses: courses.webdevsimplified.com
Patreon: / webdevsimplified
Twitter: / devsimplified
Discord: / discord
GitHub: github.com/WebDevSimplified
CodePen: codepen.io/WebDevSimplified
⏱️ Timestamps:
00:00 - Introduction
00:27 - Demo/Setup
01:48 - Planning
05:00 - HTML/JSX
26:12 - Drawing Component Logic
28:55 - Word Component Logic
30:03 - Keyboard Logic
38:25 - Win/Lose Logic
#React #WDS #TypeScript

Пікірлер: 122
@tonyg_nerd
@tonyg_nerd Жыл бұрын
Kyle - you're always well-prepared, thorough, competent, and professional. I thank you for your generosity in providing all of these top-quality vids.
@welcomeJava
@welcomeJava Жыл бұрын
this channel seems always provides what I need for now. Amazing ! And your way of teaching and spreading knowledge is great. Thank you always.
@lowrimordecai6822
@lowrimordecai6822 Жыл бұрын
This was great, thank you so much! I had to go back and pause A LOT but I learnt a lot from this and it was also quite fun to build a game to interact with!
@muhammadnishad.p.n1170
@muhammadnishad.p.n1170 Жыл бұрын
Incredible. Your video about sql really helped me in my interview 🎉
@SyntaxErrorB
@SyntaxErrorB Жыл бұрын
I have no intention of ever doing this or Web dev, but your videos are very relaxing and good to fall asleep to. It doesn't sound like a compliment but trust me it is
@Akz666
@Akz666 Жыл бұрын
😁😂🙃😉
@daniels.609
@daniels.609 Жыл бұрын
It's nice to see I'm not the only weirdo who likes to have different genres of KZbin videos playing in the background while falling asleep in the afternoon.😂
@l.seciltuncay7921
@l.seciltuncay7921 Жыл бұрын
The only one I listen to at 0.50 speed :) thanks for great tutorial.🤙
@paulthomas1052
@paulthomas1052 Жыл бұрын
Another great React/Typescript tutorial. Thanks !
@bananamilk4016
@bananamilk4016 Жыл бұрын
Love this tutorial! Thanks Kyle :D
@pablotexeira7579
@pablotexeira7579 Жыл бұрын
This is a masterpiece!!! thanks Kyle
@lokeshnegi5051
@lokeshnegi5051 Жыл бұрын
Learnt a lot of new things thank u so much kyle.
@niklassoderberg2168
@niklassoderberg2168 Жыл бұрын
Thanks for a really well done video.
@nicmackenzie
@nicmackenzie Жыл бұрын
No WORDS to express my gratitude for this video. 😁😁😁😁
@regilearn2138
@regilearn2138 Жыл бұрын
❤❤❤ NEED more TYPESCRIPT + REACT + REDUX + MERN projects ❤❤❤
@rodrigolaporte274
@rodrigolaporte274 Жыл бұрын
This is very interesting! THANKS!
@alexanderst.7993
@alexanderst.7993 Жыл бұрын
I don't even do web dev but i still find your videos incredibly interesting
@Oncopoda
@Oncopoda Жыл бұрын
What do you do?
@alexanderst.7993
@alexanderst.7993 Жыл бұрын
@@Oncopoda game dev
@Oncopoda
@Oncopoda Жыл бұрын
@@alexanderst.7993 Dope
@alexandra_b
@alexandra_b Жыл бұрын
I don't use TypeScript, but with a bit of effort I transformed this amazing project into React + JS ☺ Thanks a lot!
@alesholman801
@alesholman801 Жыл бұрын
Why would you downgrade it like that ?
@ashwinsuryawanshi
@ashwinsuryawanshi Жыл бұрын
That's actually escaping the effort. 😄
@instantrecaps1764
@instantrecaps1764 Жыл бұрын
Huge love man .... Thankyou .
@codingwithjaybird
@codingwithjaybird Жыл бұрын
Great video as always! 😊
@shjz2908
@shjz2908 Жыл бұрын
This is a awesome Project for React JS developers i am also finding this type of project for my resume ❤ so i found at this channel ❤ love from Pakistan 🇵🇰 😘
@appuser
@appuser Жыл бұрын
Awesome, thanks so much for another epic free tutorial @WebDevSimplified, that was fun. I followed along and used Tailwind CSS for the styling for practice.
@simonshurety3870
@simonshurety3870 Жыл бұрын
Care to share? I've never used Tailwind before.
@appuser
@appuser Жыл бұрын
@@simonshurety3870 As an example `const BODY = ( )`
@partialdata
@partialdata Жыл бұрын
Thank you! More content like this please TS and React!
@gardendado1999
@gardendado1999 Жыл бұрын
It's actually incredible how typescript can be so short but my head spins every time you call a method or make functions return custom types
@New-dj9rz
@New-dj9rz Жыл бұрын
Thank for great tutorial.
@Sweatshirtshoot
@Sweatshirtshoot Жыл бұрын
Honestly was more impressed with this guy pure CSS... holy cow ! Keep going please
@Ryan-zv6yl
@Ryan-zv6yl 5 ай бұрын
awesome video. it was today that i realized im not even close to being a begining with react and typescript....
@FunctionGermany
@FunctionGermany Жыл бұрын
wouldn't it be simpler to fix the useeffect scope capture issue by moving the "guessedletters includes" logic inside the "setGuessedLetters" callback since you're always getting the most recent state inside it? you wouldn't have to use useCallback and also woulnd't have to add guessedLetters as a dependency to useEffect. (i might be wrong though)
@yassinesafraoui
@yassinesafraoui Жыл бұрын
another greaat project which is quite intermediate is building a chess game, there are some channels that did it so if you want more of this look it up :)
@andersonalmeydat7715
@andersonalmeydat7715 Жыл бұрын
new sub ty from Peru
@elin9367
@elin9367 Жыл бұрын
What is the convention when it comes to css? I usually move my css into seperate files, but here you put a lot of styles directly on the divs and so on. Just want to learn more
@lilb07
@lilb07 Жыл бұрын
Is there a video about setting up environments/dependencies and vscode (and plugins) to get started?
@Backdoorproggie
@Backdoorproggie Жыл бұрын
Great tutorial. Thank you very much. Also want you to know that I got issues signing in for your hook course. Apparently my email address doesn't get recognized.
@ventsislavstoimenov4404
@ventsislavstoimenov4404 Жыл бұрын
great video!
@WaddupBoi
@WaddupBoi Жыл бұрын
Doesn't seem like much but this is such a clever little project.
@rickeyupadhyay6898
@rickeyupadhyay6898 Жыл бұрын
Hi kyle it would be awesome if you can create an short series on react + redux or context API + Usereducer
@parkerAmv
@parkerAmv Жыл бұрын
Look at his tutorial about shopping cart
@xAngel03
@xAngel03 Жыл бұрын
I see what you did there. God bless.
@manuchehrme
@manuchehrme Жыл бұрын
Hi Kyle! Why don't you use MacBook or iMac like many developers?
@serhanmmiah7315
@serhanmmiah7315 Жыл бұрын
Learning Typescript is a type similar to how struct is in c++? I am grateful for this tutorial as I am starting to learn typescript.
@user-pd2ic5pd3z
@user-pd2ic5pd3z 8 ай бұрын
Kyle, why did you use "keypress" event? It is deprecated.
@harijoel
@harijoel Жыл бұрын
How does he quickly rearrange the component's properties to be in different lines?
@MichaelHagberg
@MichaelHagberg Жыл бұрын
always enjoyable to watch your videos. One question: about 32 minute mark you do a keyboard match(/^[a..z]$/) What if the user enters capitalize 'H'?
@nickely
@nickely Жыл бұрын
It doesn't account for capitalised letters. Use /^[a-zA-Z]$/ for that.
@adityanayak01
@adityanayak01 Жыл бұрын
Waiting for TypeScript in 30 mins Video 😍😍😍😍😍
@Flash136
@Flash136 Жыл бұрын
Finally using Vite 💛👌
@romilsahay7584
@romilsahay7584 Жыл бұрын
Could you please answer me . What is req.user is it work as req.body
@iAbdulah0
@iAbdulah0 3 ай бұрын
I don't know what is the purpose of including typescript in the project while not practicing it
@leosycreos
@leosycreos Жыл бұрын
Hi man therse somthing wrong with ypur page the button to continue when you put your email on chackot page dosent work when you write anything there
@Viralvlogvideos
@Viralvlogvideos Жыл бұрын
Please make a detail videos on how rendering works in react and why the use effect without any dependency array runs inifite with and usestate but if the same dependency use in a child component it is not running dependency. I'm confused please simply the rendering of react for us .
@eduardoontiveros-oi5ej
@eduardoontiveros-oi5ej Жыл бұрын
he explains it super well in his react course, and it has been a while, but i think he has a video on useffect also. you should check it out! he does a really good job. i would recommend you code along as he does it it will give you a really good understanding. hope it helps
@user-ij3rh2sd6h
@user-ij3rh2sd6h Жыл бұрын
I am just wondering if you have some project with this kind of "complexity" in your hands, can that be enough to get a junior developer job? Or is that better to dig deeper and build something more complex, even the design is lacking?
@alicezhang8888
@alicezhang8888 Жыл бұрын
May I ask why do we name HEAD, BODY, RIGHT_ARM, LEFT_ARM, RIGHT_LEG, LEFT_LEG in uppercase?
@Oscarmadeofgold
@Oscarmadeofgold Жыл бұрын
Great tutorial again from @Web_Dev_Simplified ! At 4:14 when you check for a newly logged word, with each refresh, i get two new words. I understand that this is due to my app.tsx being rendered twice. I am confused about this. Why doesn't your app render twice? How can i fix it?
@GrimOwlForth
@GrimOwlForth Жыл бұрын
I ran into the same problem! No idea, either.
@sirsuer6726
@sirsuer6726 Жыл бұрын
It's because React strict mode. just remove wrapper in main.tsx.
@Oscarmadeofgold
@Oscarmadeofgold Жыл бұрын
@@sirsuer6726 oh, thank you!
@MrFieldbranch
@MrFieldbranch 9 ай бұрын
@@sirsuer6726 Thank you! I had the same problem too.
@Zzyzx-
@Zzyzx- Жыл бұрын
What does auto beautify your css when saving? An extension?
@brunoqueiroz5443
@brunoqueiroz5443 Жыл бұрын
It's called "prettier" you can have it with npm
@huisso
@huisso Жыл бұрын
At 4:01 why do you insert arrow function inside useState initial state? What is the difference with static state?
@RobertPodwika
@RobertPodwika Жыл бұрын
It's used for expensive computations. It's called Lazy Initial State
@huisso
@huisso Жыл бұрын
@@RobertPodwika thank you for replying!
@mikeagnostik4748
@mikeagnostik4748 Жыл бұрын
Perfekt, but why don't you make videos about lit element ?
@golfcart_9797
@golfcart_9797 Жыл бұрын
how did you import those components with your keyboard like that at 8:00?
@mpowereer6992
@mpowereer6992 Жыл бұрын
ctrl + space or ctrl + .
@thevividversatilechannel4807
@thevividversatilechannel4807 Жыл бұрын
Pressing Control + dot (.) in windows operating system shows code actions Then, Select an option. Code actions can be opened with a light bulb on the left hand side. Code actions are not always available.
@kontaninhokthian5787
@kontaninhokthian5787 7 ай бұрын
sorry I have problem with it not working . Can someone help me, please?
@omokehindeigbekoyi9194
@omokehindeigbekoyi9194 21 күн бұрын
Same here, the keyboard didn't stretch.
@itzFenners
@itzFenners 6 ай бұрын
Oddly on my laptop I get vscode intellisense for the div styles MaxWidth, flexDirection etc. But on a new setup with the same exntesions it doesn't appear to happen - anyone had this?
@itzFenners
@itzFenners 6 ай бұрын
Had to set my TS version in VSCode to workspace from the command pallete, it was using vscode version which was older FYI
@austindunn433
@austindunn433 Жыл бұрын
just out of curiosity, how would you stop someone from reading the word in inspect element? basically cheating the game
@mandeeppatwa9645
@mandeeppatwa9645 Жыл бұрын
why is it always hard to clone your repo and run.... how to run this after cloning from github
@DeltaNrOne
@DeltaNrOne Жыл бұрын
I know javascript quite well. And also libraries like datatabes and jquery. I have never tried react but it seems like you have to write a lot of boiler plate code.
@CodeCrunch001
@CodeCrunch001 11 ай бұрын
Once you start using react and typescript, you probably wouldnt go back to vanilla js and old-style HTML.
@KristinAlayna
@KristinAlayna 11 ай бұрын
I just want to create the app I need for work with a fill-in-the-blank template. 😭 I feel so unintelligent and I really need this job.
@themanunnamed
@themanunnamed Жыл бұрын
This guy is a great teacher
@BliitzPint
@BliitzPint Жыл бұрын
Muuuch to fast to code along, but well... I made it :D But it's actually much too easy to cheat by looking at the Components Tab in the React Dev Tools.
@chrisazuaje892
@chrisazuaje892 9 ай бұрын
Great video BUT you go through it so fast! I often miss what you deleted/changed because you immediately move on to something else. Had to adjust the playback speed to make things easier for me. Overall though, great video.
@user-mh1km3mv7z
@user-mh1km3mv7z 3 ай бұрын
this doesnt work the create vite has different options and idk what to do
@codybarr
@codybarr Жыл бұрын
I was hoping the hangman and gallows were going to be an SVG with conditionally hidden/visible lines (and circle for the head).
@ed1nh0
@ed1nh0 Жыл бұрын
But that's very easy to do. Just pick up a SVG on some stock free website and break those parts making their appearances conditionally just like he did.
@farfazzi
@farfazzi Жыл бұрын
@@ed1nh0 not so easy if you don't have a path for each segment tho
@ed1nh0
@ed1nh0 Жыл бұрын
​@@farfazzi I agree, but notice the purpose of this great tutorial is to give you the basic knowledge to run your app. The fine tuning and enhancements is up to you IMO.
@farfazzi
@farfazzi Жыл бұрын
@@ed1nh0 yes, agreed
@tmk2462
@tmk2462 2 ай бұрын
Really good video. thx dude. You are going a bit too fast for beginners, you could explain a bit more. But thanks
@rishiraj2548
@rishiraj2548 Жыл бұрын
👍💯
@a89529294
@a89529294 Жыл бұрын
👍
@tomlikeabomb6706
@tomlikeabomb6706 Жыл бұрын
Why Vite instead of Create React App?
@mpowereer6992
@mpowereer6992 Жыл бұрын
Vite is faster
@piyushaggarwal5207
@piyushaggarwal5207 Жыл бұрын
Could you please shift the Inline CSS to a better solution?
@nongsoft5462
@nongsoft5462 6 ай бұрын
20:12
@Nodsaibot
@Nodsaibot Жыл бұрын
OMG thats a SPICY take 42:00 I know he's a Traitor and all
@Frogic
@Frogic 11 ай бұрын
@ kzbin.info/www/bejne/Y4Cxhqybo6yhjdk I don't think your useCallback is doing anything here. You never added it as a dependency on the useEffect so it doesn't matter if its recreated each time it wouldn't trigger the useEffect. It also from my testing isn't causing a closure around guessedLetters which is not intuitive but I guess because your dependency array is making sure that guessedLetter isn't stale when handler is created.
@downanddirtytruth
@downanddirtytruth 2 ай бұрын
If this is for 'beginners', I'm screwed for life.
@thevividversatilechannel4807
@thevividversatilechannel4807 Жыл бұрын
Please check my comment on your to-do app video. Thank you very much.
@alexidino
@alexidino Жыл бұрын
For beginners?
@surakadotme
@surakadotme Жыл бұрын
yeah, i dont know typscript and this video for me.
@alexidino
@alexidino Жыл бұрын
@@surakadotme i am too don't know TS and now also learn Englisn. Have a nice day bro!
@sirsuer6726
@sirsuer6726 Жыл бұрын
@@alexidino keep it up bro. I still learning it too.
@isaacopeyemirobert7868
@isaacopeyemirobert7868 Жыл бұрын
i don't know Typescript so i don't even know if I am to watch this video!!
@kaninaololol
@kaninaololol Жыл бұрын
useCallback absolutely useless
@sevenwebdeveloper
@sevenwebdeveloper Жыл бұрын
I was thinking the same thing... I followed along and was console logging, and couldn't work out what it was doing. I think useEffect was fine by itself? Mind you, I'm still learning about how to use the various hooks. But this confused me for a hot sec, glad I found this comment.
@kaninaololol
@kaninaololol Жыл бұрын
@@sevenwebdeveloper useCallback useful when u put returned function to array of dependencies of another hook
@Tabitha_Dorcas
@Tabitha_Dorcas Жыл бұрын
You need to stop speaking too fast. It made me stop learning from you. Seriously you need to stop it. Coding rate is okay but stop rushing your words. Its terrible to the extent I have to comment on it.
@viktorsarge6285
@viktorsarge6285 Жыл бұрын
He does speak fast. But playback speed is your friend. It doesn't affect audio quality very much and 0.75x speed is very useful when encountering a fast talker or unknown concepts. And 1.75x is great when you already know the things discussed and are just looking to have some context when you get to the new stuff.
@franku3510
@franku3510 Жыл бұрын
styles is deprecated ? use this import "./Keyboard.modules.css" ... then where your class is
@stabilini
@stabilini Жыл бұрын
For SPANISH devs 😎 add 'ñ' to letters array in getWord function ---> return words[Math.floor(Math.random() * words.length)].normalize("NFD").replace(/[\u0300-\u036f]/g, "") to ignore accents
@zackOverflow
@zackOverflow Жыл бұрын
Awesom
@JustTheBeginning2012
@JustTheBeginning2012 Жыл бұрын
Right off the bat I get this Error: App.tsx:6 Uncaught ReferenceError: Cannot access 'wordToGuess' before initialization 'wordToGuess' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.ts(7022) Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.ts(7024) on the statement: const [wordToGuess, setWordToGuess] = useState(() => { return words[Math.floor(Math.random() * wordToGuess.length)] })
@JustTheBeginning2012
@JustTheBeginning2012 Жыл бұрын
From his source, this is how you fix it. import { useState } from "react" import words from "./wordList.json" function getWord() { return words[Math.floor(Math.random() * words.length)] } function App() { const [wordToGuess, setWordToGuess] = useState(getWord) console.log(wordToGuess) return Hi } export default App
@abdelhaleemahmed7075
@abdelhaleemahmed7075 Жыл бұрын
Credit: elzero web school*
Learn React Router v6 In 45 Minutes
46:20
Web Dev Simplified
Рет қаралды 514 М.
How to open a can? 🤪 lifehack
00:25
Mr.Clabik - Friends
Рет қаралды 12 МЛН
Каха с волосами
01:00
К-Media
Рет қаралды 5 МЛН
Godzilla Attacks Brawl Stars!!!
00:39
Brawl Stars
Рет қаралды 10 МЛН
10 useful git aliases
7:45
Philomatics
Рет қаралды 673
How This Test Saved Kent’s Site
7:04
Web Dev Simplified
Рет қаралды 41 М.
Junior vs Senior React Folder Structure - How To Organize React Projects
16:16
Every CSS Animation property
9:26
chunkydotdev
Рет қаралды 44 М.
React Typescript Tutorial for Beginners
28:24
Dave Gray
Рет қаралды 71 М.
All useEffect Mistakes Every Junior React Developer Makes
22:23
This is the Only Right Way to Write React clean-code - SOLID
18:23
How to use TypeScript with React... But should you?
6:36
Fireship
Рет қаралды 894 М.
Learn TypeScript Generics In 13 Minutes
12:52
Web Dev Simplified
Рет қаралды 197 М.
How to open a can? 🤪 lifehack
00:25
Mr.Clabik - Friends
Рет қаралды 12 МЛН