Skip to content

Commit

Permalink
abortController to autoSearchComplete
Browse files Browse the repository at this point in the history
  • Loading branch information
No0ne003 committed May 17, 2024
1 parent 532a930 commit 742d263
Showing 1 changed file with 28 additions and 9 deletions.
37 changes: 28 additions & 9 deletions src/pages/SearchAutoComplete/SearchAutoComplete.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const SearchAutoComplete = () => {
const [searchParam, setSearchParam] = useState(null);
const [showDropDown, setShowDropDown] = useState(false);
const [filteredUsers, setFilteredUsers] = useState([]);
const [controller, setController] = useState(null);

function handleChange(event) {
const query = event.target.value.toLowerCase();
Expand All @@ -26,16 +27,26 @@ const SearchAutoComplete = () => {
setShowDropDown(false);
}
}

function handleClick(event) {
setShowDropDown(false)
setSearchParam(event.target.innerText)
setFilteredUsers([])
setShowDropDown(false);
setSearchParam(event.target.innerText);
setFilteredUsers([]);
}

async function fetchListOfUsers() {
if (controller) {
controller.abort();
}

const newController = new AbortController();
setController(newController);

try {
setLoading(true);
const response = await fetch("https://dummyjson.com/users");
const response = await fetch("https://dummyjson.com/users", {
signal: newController.signal,
});
const data = await response.json();

console.log(data);
Expand All @@ -45,9 +56,11 @@ const SearchAutoComplete = () => {
setError(null);
}
} catch (error) {
setLoading(false);
console.log(error);
setError(error);
if (error.name !== "AbortError") {
setLoading(false);
console.log(error);
setError(error);
}
}
}

Expand All @@ -66,9 +79,15 @@ const SearchAutoComplete = () => {
name="search"
placeholder="Search Users Here..."
/>
{loading ? <Loading /> : showDropDown && <Suggesstions handleClick={handleClick} data={filteredUsers} /> }
{loading ? (
<Loading />
) : (
showDropDown && (
<Suggesstions handleClick={handleClick} data={filteredUsers} />
)
)}
</div>
);
};

export default SearchAutoComplete
export default SearchAutoComplete;

0 comments on commit 742d263

Please sign in to comment.