External APIs Integration trong ReactJS
Trong bài tập này, mình sẽ tập trung vào việc tích hợp API của OpenWeatherMap
vào ứng dụng ReactJS để hiển thị thông tin thời tiết cho một thành phố cụ thể.
Tạo Component WeatherDisplay
Tạo một component WeatherDisplay.js
để hiển thị thông tin thời tiết từ OpenWeatherMap
.
// WeatherDisplay.js import React, { useState, useEffect } from 'react'; import axios from 'axios'; const WeatherDisplay = () => { const [weatherData, setWeatherData] = useState(null); const [city, setCity] = useState('New York'); useEffect(() => { const fetchWeatherData = async () => { try { const response = await axios.get(`https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=YOUR_API_KEY&units=metric`); setWeatherData(response.data); } catch (error) { console.error('Error fetching weather data:', error); } }; fetchWeatherData(); }, [city]); return ( <div> <h2>Weather Information</h2> <label htmlFor="city">Enter city name: </label> <input type="text" id="city" value={city} onChange={(e) => setCity(e.target.value)} /> {weatherData && ( <div> <p>City: {weatherData.name}</p> <p>Temperature: {weatherData.main.temp}°C</p> <p>Weather: {weatherData.weather[0].description}</p> </div> )} </div> ); } export default WeatherDisplay;
Sử dụng Component WeatherDisplay
Sử dụng component WeatherDisplay
trong ứng dụng của bạn để hiển thị thông tin thời tiết từ OpenWeatherMap
.
// App.js hoặc bất kỳ thành phần nào khác cần hiển thị WeatherDisplay import React from 'react'; import WeatherDisplay from './WeatherDisplay'; const App = () => { return ( <div className="App"> <h1>Weather App</h1> <WeatherDisplay /> </div> ); } export default App;
Kết bài
Trên đây là cách tích hợp API bên ngoài vào ứng dụng ReactJS để hiển thị thông tin từ dịch vụ bên ngoài, ví dụ là OpenWeatherMap. Bằng cách này, bạn có thể lấy thông tin thời tiết từ API và hiển thị nó trong ứng dụng của mình. Đồng thời, bạn cần đảm bảo rằng đã đăng ký một tài khoản và nhận API key từ OpenWeatherMap để sử dụng API của họ.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Fetching Data from API trong ReactJS
- Displaying Details trong ReactJS
- Searching Data trong ReactJS
- Pagination trong ReactJS
- Loading Indicator trong ReactJS
- Error Handling trong ReactJS
- Form Submission trong ReactJS
- Authentication trong ReactJS
- Deleting Data trong ReactJS
- File Upload trong ReactJS
- Real-time Updates trong ReactJS
- External APIs Integration trong ReactJS
- Rate Limiting và Throttling trong ReactJS