Build A React JS Weather App - OpenWeatherMap API - Tutorial
HTML-код
- Опубликовано: 19 янв 2022
- 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-React-JS
- Complete Web Developer in 2023 - bit.ly/Complete-Web-Developer...
Learn to code here!
bit.ly/Code-Challenges
OpenWeatherMap API:
openweathermap.org/api
Github Repo:
github.com/fireclint/weather-...
☕ Buy me a Coffee ☕
www.buymeacoffee.com/clintbriley
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.
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!
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 for the tutorial! Really learned a lot!
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)
})
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
im just learning react but i enjoy your teaching style, thanks brother!
Thank you so much man!!!!! It was really helpful
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!
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!
Really educational for beginners!!
Thanks, dude! Keep it up!
This is just brilliant , perfect tutorial exist , i made my first project for resume hurray
Fantastic, thank you!
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..
I was actually building a similar app by myself and this error 28:07 had me stuck the whole day. Thankfully found this video.
I came here because I was struggling with the undefined reading of temp part. Great solution, very straightforward. Well done!
Thank you!
Great tutorial, I learned a lot. I subscribed and I'm excited for more. Thanks! :)
Thank you dude!
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!
Really great and simple guide,subscribed!
Awesome, thank you!
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!
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!
Mate, this was brilliant. Thanks for the tutorial.
Thanks Matt!
Great content! I learned many useful things. thanks a lot !!
Glad it was helpful!
a good extension of that would be changing the background depending on the weather condition
Thanks for such a great video! i love this
Thank you very much
Thanks for a great tutorial!
Thank you Malin!
Great tutorial, thank you.
Thank you Tarek!
good job my frends bravo
Great tutorial and also a good explanation of each step
Glad you liked it!
Soy de colombia muchas gracias por tus videos por tu enseñanza mil gracias
Amazing ❤
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
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
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
Thank you 👍👍
Thanks so much! This was great. Quick question, when it comes to pushing to GitHub, how do we hide the API key?
thank you so much for this video it was amazing project
Thank you Mohamed - cheers dude!
i'm learning react and i have to say it was a great video for beginners thanks for sharing it
Glad it was helpful!
keep it up best tutorial ever it works with me thanksssssssss
You’re the man! 💪
thanks for your video, i really help me! greetings from Argentina.
Glad it helped! Thank you so much dude!
Thanks !
Great video
Thank you This video is helpful
Thank you sir!
great tutorial, thank you
does this api still working? should i follow this video?
@@varunupadhyay2488 yes working,api works after half an hour
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
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
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!
Thank you Tiago!
This is one of the best tutorial for using basic API
Thanks Vinay!
A new subscriber from Pakistan , Thanks really simple and straight forward 🥰
Thank you man!
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
Excellent🤩
Thank you!
Good job👏🇧🇷
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!
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!
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!
So nice 👏
Thank you sir!
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
esta tan bien explicado que aun sin dominar el ingles se entiende perfecto, excelente tutorial
Gracias 🙏
good work bro keep it up
Thank you, I will
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
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
Love the tutorial! First city entered is my city! Haha
Haha bonus!
thanks
Thanks papi
what happens if the user enters something that isn't a city? its not really finished.
hello men great video but the current API don't have the location parameter, only the latitude, and longitude
how could you alter this project so that you have a "gallery" of the different weather data for differnet locations?
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 :/
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 :)
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!
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.
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! 💪
Im not sure what im doing wrong but the ${location} in the URL string doesnt update from the input.. my axios is getting error
Increase the font size of Vs code so its easier to follow along.
Thank you.
Will do!
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!
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
Hey Clint hope all is well brother/ So I have a question for you, is there a way to make the hamburger sub menu auto close. As it stand now if you open the menu and increase the size of the screen the menu stays open and then you have to reshrink it to get the "x" back to close the menu out. Any suggestions?
I didn't even realize that - sorry man! We should be able to add "hidden" in a media query.
what can i use instead of the star at 11:11 ?
Which extention have you used for creating div with classname directly using the dot operator?
That is with vs code “emmet”. I believe it comes natively.
@@codecommerce yup got it sorted
20.01 for stating state main part
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!
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!
I was scratching my head because of the back ticks in the "url" variable. 😂
Hi! Thanks for your video! It is excellent!! Could you set up the wrapping text for your code? That way we will be able to see your code lines at any time! God Bless you! :)
Thank you - I'll try and keep that in mind.
I having a issue i am not able to see bottom details(humidity,wind speed etc)/below the page its showing white space only
The fahrenheit is bit off for me, i.e. when I type in Dallas I get 9F instead of 49F. what may be causing this issue?
Hmm sounds like you may be getting back celcius instead of fahrenheit perhaps? You would just need to alter the url value.
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.
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.
Should this project contains 2 microservices communicating each other ?
how did you format the json info that you saved from the website into vscode?
If you are referring to how it’s formatted in vscode then that is all vscode! :)
@@codecommerce yeah man! I got it formatted when I installed the prettier extension. 👍
Hey Clint, thanks a lot por the vid!! I was wondering how to add an image based on the data for ex, when its raining a rainy img in the background. Also if you could tell me how to make it responsive for mobiles, im a noob with react D:
Just watch other videos Clint has to make it responsive. About changing the image according to the weather, watch the bmi one, because he implements it there. I'll do that myself too... But now that I see better, this app is already responsive!
@@carlosamaral6917 Will do, but is it? I coded it watching the vod and when i open it with my cellphone it shrinks on the bottom
@@Meithe1 I think that's the idea
Thanks Carlos!
@@codecommerce You're welcome!!
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?
@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?
Hi Im triying to use this tutorial but the Api is now a version 3.0 , Im not being able to follow it because theres is no city parameter on the 3.0, the one that you use is a 2.5
Ah yes, the world of tech - always evolving!
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
What happened in 6:43 I didnt get it and how the weather(1).json changes into like that
So I just copied the response and pasted into a js file. When I saved it, the data was formatted nice and “pretty”. I’m using the “Prettier” ext to format all of my code.