Pushing Data into empty Array - React useState() Hook

Viewed 979

I want to declare an empty State for wrong answers in my Quiz-App like this:

const [wrongAnswers, setWrongAnswers] = useState();

But if I try to fill it up with data (I want to make it an Array of Objects) it always return undefined. I try it like this:

    const getWrongAnswers = () => {
    const result = birds.filter((bird) => bird.status === "wrong");

    setWrongAnswers([...wrongAnswers, result]);
  };

If i declare my state as an empty Array it'll always give me an empty Array, same with an emptry Array of Objects.

I don't know what I am missing here.

1 Answers

You initialise it with empty array while declaring.

const [wrongAnswers, setWrongAnswers] = useState([]);

and filter returns array so use spread operator instead of just result

setWrongAnswers([...wrongAnswers, ...result]);
Related