reactjs-machine-coding-challenges icon indicating copy to clipboard operation
reactjs-machine-coding-challenges copied to clipboard

Implement a searchable list

Open bindaldhara opened this issue 1 year ago • 4 comments

Create a list of items with an input field that filters the displayed items based on the user’s input.

bindaldhara avatar Oct 19 '24 02:10 bindaldhara

import { useEffect, useState } from "react";
import "./styles.css";

export default function App() {
  const [input, setInput] = useState("");
  const [userData, setUserData] = useState([]);
  const [filterData, setFilterData] = useState([]);

  useEffect(() => {
    fetch("https://dummyjson.com/users")
      .then((res) => res.json())
      .then((data) => {
        setUserData(data.users);
        setFilterData(data.users);
      })
      .catch((err) => console.log(err));
  }, []);

  useEffect(() => {
    const data = userData.filter((user) =>
      user.firstName.toLowerCase().includes(input.toLowerCase())
    );
    setFilterData(data);
  }, [input]);

  return (
    <div className="App">
      <input
        value={input}
        placeholder="input name for filtering..."
        onChange={(e) => setInput(e.target.value)}
      />
      <ul className="list">
        {filterData.map((user) => (
          <li>{user.firstName} </li>
        ))}
      </ul>
    </div>
  );
}

@bindaldhara This might help you!

kartik-APM avatar Nov 10 '24 09:11 kartik-APM

@kartik-APM Can you raise a PR for the same, will be helpful for others as well

sanchit0496 avatar Nov 28 '24 14:11 sanchit0496

sure! @sanchit0496

kartik-APM avatar Nov 29 '24 04:11 kartik-APM

@sanchit0496 Can you please provide write access of the repo? I am unable to push my branch.

kartik-APM avatar Dec 01 '24 07:12 kartik-APM