嗨,所以我不確定為什么我的掛鉤中的項目被覆蓋并且只有最后一個值保留在其中。直到我循環遍歷 xml 為止,一切正常。鉤子setCampgrounds()沒有保存所有迭代。我本以為...campgrounds傳播會復制上一次迭代,這樣它就不會被覆蓋。循環中有什么我不理解的東西,或者將這些項目保存在我的露營地掛鉤中的正確方法是什么?const [campgrounds, setCampgrounds] = useState([]); useEffect(() => { url = some url... axios.get(url) .then(res => res.data) .then((str) => { let newXML = new DOMParser().parseFromString(str, "text/xml"); let results = newXML.getElementsByTagName("result"); for (let i = 0; i < results.length; i++) { setCampgrounds([...campgrounds, { facilityID: results[i].getAttribute("facilityID"), facilityName: results[i].getAttribute("facilityName"), contractID: results[i].getAttribute("contractID") }]); } }) .catch(err => { console.log(err); }) }, []);
為什么我的狀態迭代被覆蓋了?
墨色風雨
2023-06-09 14:46:02