【发布时间】:2022-01-19 04:20:23
【问题描述】:
我有这个使用承诺的代码,但我的问题是当我 console.log 打印它两次的响应时,这是为什么呢?谁能指出我正确的方向?提前致谢!
import "./App.css";
import { useState } from "react";
function App() {
const [data, setData] = useState([]);
let itemsApi = new Promise(function (resolve, reject) {
setTimeout(() => {
resolve([
{ grupoId: 1, name: "test1" },
{ grupoId: 2, name: "test2" },
{ grupoId: 1, name: "test3" }
]);
}, 500);
});
itemsApi
.then((res) => {
console.log(res); // This gets call 2 times, why??
})
.catch((error) => {});
return <div>test</div>;
}
export default App;
【问题讨论】:
-
-
@AKX 你能提供一个解决方案吗?谢谢!
-
把有副作用的东西放在
useEffect钩子里 -
它们被称为 function 组件,而不是功能组件。 useState 钩子阻止它发挥作用。
标签: javascript reactjs promise