Tạo một component Autocomplete trong ReactJS
Trong bài tập này, mình sẽ tập trung vào khía cạnh này của ReactJS thông qua các bài toán thực tế và ứng dụng thực hành.
Autocomplete trong ReactJS
Trong bài tập này, mình sẽ xây dựng một component Autocomplete trong ReactJS. Mục tiêu là tạo ra một ô nhập liệu hiện tùy chọn phù hợp khi người dùng nhập liệu vào. Cùng nhau, mình sẽ thực hiện vài bước cơ bản để đạt được mục tiêu này.
Autocomplete.js:
// Autocomplete.js import React, { useState } from 'react'; import './Autocomplete.css'; const Autocomplete = () => { const [inputValue, setInputValue] = useState(''); const [options, setOptions] = useState(['Apple', 'Banana', 'Cherry', 'Date', 'Grape']); const handleInputChange = (e) => { const value = e.target.value; setInputValue(value); }; const handleOptionClick = (selectedOption) => { setInputValue(selectedOption); }; const filteredOptions = options.filter((option) => option.toLowerCase().includes(inputValue.toLowerCase()) ); return ( <div className="autocomplete"> <h2>Autocomplete trong ReactJS</h2> <input type="text" value={inputValue} onChange={handleInputChange} placeholder="Nhập từ khoá..." /> <ul className="options-list"> {filteredOptions.map((option, index) => ( <li key={index} onClick={() => handleOptionClick(option)}> {option} </li> ))} </ul> </div> ); }; export default Autocomplete;
Autocomplete.css:
/* Autocomplete.css */ .autocomplete { text-align: center; margin-top: 20px; } input { padding: 10px; font-size: 16px; } .options-list { list-style: none; padding: 0; margin: 0; max-height: 150px; overflow-y: auto; border: 1px solid #ccc; } .options-list li { padding: 8px; cursor: pointer; transition: background-color 0.3s; } .options-list li:hover { background-color: #f2f2f2; }
App.js:
// App.js import React from 'react'; import Autocomplete from './components/Autocomplete'; const App = () => { return ( <div> <h1>ReactJS Autocomplete Exercise</h1> <Autocomplete /> </div> ); }; export default App;
Kết quả:
Qua bài tập này, mình đã có cơ hội rèn kỹ năng xử lý sự kiện trong ReactJS và xây dựng một tính năng Autocomplete hữu ích. Điều quan trọng là hiểu rõ cách ReactJS giúp mình linh hoạt trong việc quản lý và xử lý sự kiện, tạo ra trải nghiệm người dùng tốt nhất có thể.
Chúc mừng bạn đã hoàn thành bài tập này và hy vọng bạn đã học được nhiều điều mới!
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo một component ButtonClick trong ReactJS
- Tạo một component ToggleButton trong ReactJS
- Tạo một component InputChange trong ReactJS
- Tạo một component MouseHover trong ReactJS
- Tạo một component FormSubmission trong ReactJS
- Tạo một component DoubleClick có chứa một phần tử trong ReactJS
- Tạo một component KeyPress trong ReactJS
- Tạo một component Image Click trong ReactJS
- Tạo một component Context Menu trong ReactJS
- Tạo một component Drag and Drop trong ReactJS
- Tạo một component LinkClick trong ReactJs
- Tạo một component ResizeWindow trong ReactJS
- Tạo một component HoverEffect trong ReactJS
- Tạo một component DynamicButton trong ReactJS
- Tạo một component PasswordStrengthChecker trong ReactJS
- Tạo một component CopyToClipboard trong ReactJS
- Tạo một component ScrollEvent trong ReactJS
- Tạo một component Autocomplete trong ReactJS