Reactjs react setstate在第二次单击时起作用

Reactjs react setstate在第二次单击时起作用,reactjs,Reactjs,您好,我遇到了一个问题,我不知道为什么,但设置状态在“首次单击”时无法正常工作 我有这些州 const [selected,setSelected] = useState(""); const [fetched,setFetched] = useState([]); 当我单击一个div时,我首先设置selected状态,然后设置fetched状态,使用我这样获取的数据 const selectStuff = async (data) =>{ setSelected

您好,我遇到了一个问题,我不知道为什么,但设置状态在“首次单击”时无法正常工作

我有这些州

const [selected,setSelected] = useState("");
const [fetched,setFetched] = useState([]);
当我单击一个div时,我首先设置selected状态,然后设置fetched状态,使用我这样获取的数据

const selectStuff = async (data) =>{
  setSelected(data);
  const response = await fetch(someurl);
  if(response !== undefined)setFetched(response);
}

setfetched没有被执行,我必须再次单击元素以重新呈现状态,当我在同一个函数上使用多个setState时,我总是遇到这个问题,有人能告诉我为什么吗?我找不到任何答案

您应该使用useEffect挂钩执行您的副作用(提取)。
someurl
从哪里来?someurl只是一个类似于“/saveStuff”的字符串,我只是放了someurl来保持它的通用性