I'm using React Hooks. I set the state property questions after an axios fetch call. Now when I click a button, in its function questions state is still empty
const [questions, setQuestions] = useState([]);
const [customComponent, setCustomComponent] = useState(<div />);
useEffect(() => {
  axios.get("urlhere").then(res => {
    console.log(12, res.data);
    setQuestions(res.data);
    res.data.map(q => {
      if (q.qualifyingQuestionId == 1) {
        setCustomComponent(renderSteps(q, q.qualifyingQuestionId));
      }
    });
  });
}, []);
const handleNext = i => {
  console.log(32, questions); //questions is still an empty array here
};
const renderSteps = (step, i) => {
  switch (step.controlTypeName) {
    case "textbox":
      return (
        <div key={i}>
          <input type="text" placeholder={step.content} />
          <button onClick={() => handleNext(i)}>Next</button>
        </div>
      );
  }
};
return <>{customComponent}</>;
Do I need to use reducers here and put the custom component in another "file"?
 
     
    