Tạo một component Avatar trong ReactJS
Trong bài tập này, mục tiêu là tạo một component có tên là Avatar, có khả năng nhận một prop là imageUrl
, đây là URL của hình ảnh đại diện. Hãy cùng nhau xem cách mình có thể hiển thị hình ảnh này trong một thẻ <img>.
Tạo một component Avatar trong ReactJS
Bước 1: Mở dự án hiện tại
Nếu bạn đã thực hiện các bài tập trước, hãy tiếp tục sử dụng dự án React hiện tại. Nếu không, bạn có thể tạo một dự án mới bằng cách sử dụng create-react-app.
Bước 2: Tạo Component Avatar
Mở file src/components/Avatar.js
và thêm nội dung sau:
// src/components/Avatar.js import React from 'react'; import './Avatar.css'; const Avatar = ({ imageUrl }) => { return ( <div className="avatar"> <img src={imageUrl} alt="Avatar" /> </div> ); }; export default Avatar;
Bước 3: Tạo File CSS
Tạo một file mới có tên là Avatar.css
trong thư mục src/components.
Thêm các quy tắc CSS để tùy chỉnh giao diện của Avatar:
/* src/components/Avatar.css */ .avatar { width: 100px; height: 100px; overflow: hidden; border-radius: 50%; } .avatar img { width: 100%; height: 100%; object-fit: cover; }
Bước 4: Sử dụng Component trong App
Mở file src/App.js
và sửa nội dung như sau:
// src/App.js import React from 'react'; import Avatar from './components/Avatar'; import './App.css'; function App() { const avatarUrl = 'https://example.com/avatar.jpg'; // Thay đổi URL của ảnh đại diện return ( <div className="App"> <header className="App-header"> <Avatar imageUrl={avatarUrl} /> </header> </div> ); } export default App;
Bước 5: Chạy ứng dụng
Mở terminal và chạy ứng dụng bằng cách sử dụng lệnh sau:
npm start
Ứng dụng sẽ khởi chạy trên http://localhost:3000, và bạn sẽ thấy một trang web hiển thị hình ảnh đại diện trong một thẻ <img>.
Mình đã tạo thành công một component Avatar trong ReactJS, cho phép hiển thị hình ảnh đại diện thông qua Props. CSS đã được tùy chỉnh để tạo ra một hình ảnh đại diện tròn với kích thước cố định. Tiếp tục theo dõi để tìm hiểu thêm về các khái niệm và kỹ thuật trong ReactJS.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo một component ReactJS đơn giản
- Tạo một component Greeting trong ReactJS
- Tạo một component PersonList trong ReactJS
- Tạo một component ProductCard trong ReactJS
- Tạo một component Avatar trong ReactJS
- Tạo một component BlogPost bằng ReactJS
- Tạo một component BookList bằng ReactJS
- Tạo một component UserProfile bằng ReactJS
- Tạo một component ProductList bằng ReactJS
- Tạo một component CommentSection bằng ReactJS