Build A React JS Weather App - OpenWeatherMap API - Tutorial
Vložit
- čas přidán 12. 09. 2024
- Build a React JS weather app using the OpenWeatherMap API. We will be using axios to connect with our API. There are probably a million ways to build a weather app and this is on a more basic level, but a great way to learn a few core fundamentals in React. Let me know what you think in the comments below.
ZeroTo Mastery:
- Master React JS Course - bit.ly/Learn-R...
- Complete Web Developer in 2023 - bit.ly/Complet...
Learn to code here!
bit.ly/Code-Ch...
OpenWeatherMap API:
openweathermap...
Github Repo:
github.com/fir...
☕ Buy me a Coffee ☕
www.buymeacoff...
Instagram 💪
/ fireclint
🔥 My Coding Equipment 🔥
Logitech MX Wireless Keyboard - amzn.to/3xKPFiN
Logitech MX Master 2S Wireless Mouse - amzn.to/3O5WmRD
SAMSUNG 49-Inch Gaming Monitor - amzn.to/3mvUy8M
Shure MV7 USB Podcast Microphone - amzn.to/3O00nqG
Mic Boom Arm - amzn.to/3NHn6YU
Monitor Desk Light Bar - amzn.to/3xzKlyj
This is my first React project and you made it so simple, interesting and attractive.
I came here because I was struggling with the undefined reading of temp part. Great solution, very straightforward. Well done!
Thank you!
Thanks for such a great video, one of the few videos where I was able to follow along the whole way without much hassle and refactoring the tutorial in a modern way just so it works.
That’s awesome man thank you! Code does become rather dated pretty quickly!
Hey clint awesome work, followed along and completed it.
Made some changes as onkeypress and event is deprecated , and played with css styling too.
Had an idea about axios but didn't implement it, it was fun playing around with code.
Thanks a lot:)
Hello there, please can you tell me how you went about the onKeyPress. It's deprecated in mine too so I'm stuck with the code. Secondly my background image only covers 3/4 of the browser, is there anyway I can fix this?
Thank you very much and I am looking forward to hearing from you.
@@jessiefianu6881 hi, since onkeypress was deprecated I used onKeyDown and it worked fine for me. And for covering your whole background image maybe use object-fit property
this tutorial exceeded my expectations and made things so much easier for me thank you so much! :) i will be following and using your tutorials going forward!
Thank you Mels! That’s awesome!
Great tutorial. I've just found your channel, and helped already me a lot! Subscribed! Hope you upload more tutorials/short projects like this!
Thanks for the sub! So awesome!
I started Learning React Last month and it felt different from Vanilla Javascript but you made it simple, after seeing this video, i play around with Rapid API, i am forever subscribed to this channel and if you decide to leave youtube, i will follow you to anywhere so i can learn whatever you know, lol. YOU MAKE IT VERY VERY VERY VERY SIMPLE. Thank you so much Sir
Thank you so much man! React makes things so incredibly easy!
How's the journey being so far Obinna?
I started learning React a few weeks now. It's going quite well so far
@@nanatieku5805 I’m a pro now, I use it as the front end to the full stack applications I build, I use typescript too
sir you have no clue how much i struggled to find a way to run a function on a key press, , this video helped alot , thankyou so much
Thanks man- I know that’s frustrating! Haha
its simple but very useful, thanks man!
Thanks man!
Yeaaayy! Such a joy making the first reactive api webpage!! 🥳 Thank you very much!
Awesome dude!
Thankyou so much for this amazing tutorial
very good job
you can also add .catch in search location ,
in case someone type a location that not exist , like dradubau
const searchLocation = (event) => {
if (event.key === 'Enter') {
axios.get(url).then((response) => {
setData(response.data)
}).catch((error) => {
console.error('Error fetching weather data:', error);
setLocation('');
});
}
}
Thank you sir!
Great video again just completed it here is the code snippet to check if no city is found
axios.get(url).then((response) => {
setData(response.data);
}).catch((error) => {
alert(error.response.data.message)
})
I was actually building a similar app by myself and this error 28:07 had me stuck the whole day. Thankfully found this video.
Thank you for this walkthrough.
On 7:48, did you add an emmet extension? figuring out right now how to get that Emmet Abbreviation suggestion to keep saving time. Current emmet extensions I have do not throw me options like yours
I'm wondering the same thing, way faster workflow
i'm learning react and i have to say it was a great video for beginners thanks for sharing it
Glad it was helpful!
thank you so much.this is really cool and easy to understand. wish you best of luck for more this type of quick learning videos
Have to say thanks for these videos, was struggling with react for so long but watching these vids has helped me so much. Great content.
Glad to hear it!
Increase the font size of Vs code so its easier to follow along.
Thank you.
Will do!
perfeeect , i was struggling to implement open weather, but you made it so simple, thanks a lot!!!!!
Thank you Paloma!
Hey.. I completed react js some times ago and looking for some beginners project. Can u help me with that..
Built my first react application thank you so much :)
Awesome dude!
does this api still working? should i follow this video?
@@varunupadhyay2488 yeah the api working it’ll take sometime to become active after that it’ll work just fine
Is it still working or not? Pls reply @@varunupadhyay2488
a good extension of that would be changing the background depending on the weather condition
What if you entered the city that does not exists , you should add condition to display "City Not Found" for that matter. Otherwise its 10/10 app Great!!!
That would be a nice addition
Thanks so much! This was great. Quick question, when it comes to pushing to GitHub, how do we hide the API key?
Mate, this was brilliant. Thanks for the tutorial.
Thanks Matt!
what happens if the user enters something that isn't a city? its not really finished.
Great tutorial, I learned a lot. I subscribed and I'm excited for more. Thanks! :)
Thank you dude!
This is just brilliant , perfect tutorial exist , i made my first project for resume hurray
Appreciate the video. Has made so many things very clear for me. Well done sir, looking forward to future videos.
You’re awesome Julian, thank you!
Hi thanks for such a tutorial. First time using axios and find it very easy. Hope you will show such a small but important tutorial.
Thank you so much man!!!!! It was really helpful
im just learning react but i enjoy your teaching style, thanks brother!
Really educational for beginners!!
Thank you for the tutorial! Really learned a lot!
A new subscriber from Pakistan , Thanks really simple and straight forward 🥰
Thank you man!
Really great and simple guide,subscribed!
Awesome, thank you!
man i create apps fine but learning CSS with you really helped me a lot thanks from INDIA brother loved this project a lot
Thanks dude! Much love! 💪
This is one of the best tutorial for using basic API
Thanks Vinay!
Great content! I learned many useful things. thanks a lot !!
Glad it was helpful!
keep it up best tutorial ever it works with me thanksssssssss
You’re the man! 💪
This tutorial really helps me to practice React with API~
At the end of the course, I found that while refreshing the website , the unit of temperature would still exist .I’d say that because it was written in ".top" not in ".bottom" . Was it right?
Then i am trying to change the backgroung URl via using Pexel API . Hope it works.~~~
How are you making the API call?
@@codecommerce Pexel API can be used by searching pictures whatever keywords you want , with the location in weather website , it can search the weather and the pic at the same time ,and if i can't seacrh the city that i would use the default pic to display . But i did come up with a problem that i still can't figure it out , screen would flickered with the default pic while refreshing or searching new location . Sorry about that my English isn't really good.
hello men great video but the current API don't have the location parameter, only the latitude, and longitude
thanks for your video, i really help me! greetings from Argentina.
Glad it helped! Thank you so much dude!
Great tutorial and also a good explanation of each step
Glad you liked it!
Thanks, dude! Keep it up!
Amazing ❤
Thanks for such a great video! i love this
Thank you very much
Use an extension to right import react from 'react'';....
This extension named: ES7+ React/Redux/React-Native snippets
Then right rafce in each react functional component, for class based component rcc
Thanks for a great tutorial!
Thank you Malin!
Hell yeah man thanks explained everything perfectly i am going to try making a train schedule app now
Glad I could help - that sounds like an awesome project dude!
@@codecommerce thank you my brother you helped me out a lot
an amazing video , thanks for this ,will be locked into your channel
can you please help me at 11:11 , the star wont work, what else can i use instead of it?
Thank you!
Great tutorial, thank you.
Thank you Tarek!
Fantastic, thank you!
I make this after seeing your video by myself.
Love the tutorial! First city entered is my city! Haha
Haha bonus!
thanks for the video
hi, i made a seperate component for the search and for the actual information, how would i get the weather info from the search component to the information component so it can be displayed?
thank you so much for this video it was amazing project
Thank you Mohamed - cheers dude!
Very good tutorial! Really helpfull! 👍 Maybe can we wish for a tutorial about a travel map app. something like that? That would be great. Thank you! 🙏
Great suggestion! That would really be cool - add in google map API!
Soy de colombia muchas gracias por tus videos por tu enseñanza mil gracias
Great video!
Thank you Tiago!
Im not sure what im doing wrong but the ${location} in the URL string doesnt update from the input.. my axios is getting error
at 26:46 I keep just getting axios 404 errors. On the open weather site I had to scroll way down to find the API call example in this video. Says its no longer being supported, and the newer version uses Latitude and Longitude. Anyone know how to fix? API stuff is where im the weakest rn and I have a React interview in 2 days :/
great tutorial, thank you
does this api still working? should i follow this video?
@@varunupadhyay2488 yes working,api works after half an hour
Thank you so much for this tutorial! It was really fun and I learned a lot, including a previously unknown (to me) JavaScript method: toFixed()
That's awesome man - Glad it helped!
Thank you This video is helpful
Thank you sir!
How can I deploy this project for showcase?
Heroku or GitHub pages are both free & easy! I have a video on both - super easy! 🙌
Yeah but when you type in a wrong cuty it passes an eeror 404 in the console exposing your api key. How to fix???
Hi, thanks for this. Really helpful. I'm just wondering why you're keeping your API Key just hanging there out in the open? Any reason for that?
Hi Emilia! No- I should’ve put it in a .env file 🤫😏 hehe
@@codecommerce Do you have a video on .env files? I've been meaning to figure how to use them.
Also, the feature: get current weather data by city has been depracated. Is still works tho. I been trying to get the coordinates from their geolocation api and then pipe that in to another api call.Kinda struggling with it. lol
Thanks for the awesome content!
esta tan bien explicado que aun sin dominar el ingles se entiende perfecto, excelente tutorial
Gracias 🙏
Excellent🤩
Thank you!
good job my frends bravo
Which VS code theme do you use? It seems like Dracula, but not exactly. Thanks for vid
Good job👏🇧🇷
Great video
I didnt understand what you did with the json file of the API result on 6:42. can i get an explaination of what was that and how to do it ? please :)
Thank you 👍👍
Awesome work Clint. Is there a way to have it automatically display from your browsers location vs. searching for a location. I haven't watched your whole video yet so not sure if you covered it or not
Thank you sir! I didn’t even think about that, but I’m sure you can!
good work bro keep it up
Thank you, I will
So nice 👏
Thank you sir!
I made a project like yours, following all those steps and I've finishided it. But, my extension "Live Server" isn't working all at. I've tried every option to have my project displaying on my browser and I couldn't. The things I've tried:
- host IP;
- choosing another browser;
- windows's default browser;
- linking CSS to ReactJS;
- opening the project with the directory of origin;
- naming the folders correctly.
Do you have another option to suggest me?
--
If you can help me out, I will be pleased. I need your help 😢😢😢
Anyways, buddy, nice tutorial and great job! Congrats!
Thanks !
20.01 for stating state main part
I was scratching my head because of the back ticks in the "url" variable. 😂
how could you alter this project so that you have a "gallery" of the different weather data for differnet locations?
Thanks papi
Why is my onkeypress slashed out? Any help will be appreciated
It's deprecated now since it won't work in all browser, instead onKeyDown is used
thank you
thanks
Should this project contains 2 microservices communicating each other ?
what you do to not exceed the request limit
unfortunately nothing..
I have a proplem everything is going well except when i take the weather.json data inside the file are not shown can you help me please
Fatma, do you have a gh?
Great content it would be great if we see some easy more stuff with some bootstrap or material css
I should familiarize myself a little better with CSS libraries. I'm not a huge fan of bootstrap however I think material and tailwind is a little more appealing!
Thanks for tutorial buddy, just wanted to say that your warning it was in line 43 need to be ( !==).
Thank you Aurrel- I appreciate that.
@20:54 when I input the ${location} it throws the warning "Unexpected template string expression. eslint(no-template-curly-in-string)" and when i test it in the dev tools it gives a 404 error
does it reference the line of code?
I have the same problem, and can't find a solution.
I am having the similar issue with 404 not found . I guess it is not unable to fetch data from the API and also the onkeypress={SeachLocation} doesn't work for me
make sure you put this line of code in between backticks ` ` and no quotation marks ' ' . this as a template literal otherwise it wont work
@@codecommerce I have the same problem, It does not distinguish the ${location} between the api link (it counts it as one whole link). Any tips to resolve this?
Mby use bootstrap next time it would save a lot of time with the styling
What if I want to print those responses to any specified file format like csv?
Hi Nyasha, I would have to look that up. I am not sure off the top of my head.
what can i use instead of the star at 11:11 ?
Thanks for the tutorial. One suggestion: It would be helpful when you are setting up files to explain what you are doing rather than saying "let's do that there", 7:36
Thanks Stanley - I'll try and be more specific
on minute 20:20 , why did you initialize the first state with {} as an object and the second one with "" as a string?
how do i know when to use those?
I think it's because the data is gonna refer to whole json data object where as location is used only to store city name so it's initialized as empty string