首页 > 解决方案 > 我在 expo 框架中使用钩子反应原生,即使我添加了一个空数组,整个代码也会重复 3 次

问题描述

我正在使用 expo 并使用了钩子,因为我需要将响应保存在数组中以便以后访问它,而且我没有使用类,所以我找到了 hooks 方法,首先它给了我一个无限循环,所以当我搜索时我发现如果我在 useEffect() 方法中添加了一个空数组作为第二个参数,这将使它只运行 1 次,但这不会发生,因为代码现在运行了 3 次,有什么解决方案吗?如果没有,是否有另一种方法可以将响应保存在没有类的数组中而不是使用钩子?下面的代码是造成问题的原因。先感谢您。

const [wallets, setWallets] = useState({});
async function fetchData() {
const res = await fetch('https://api.streetcred.id/custodian/v1/api/wallets', {
method: 'GET',
headers: {
Authorization: 'Bearer ',
XStreetcredSubscriptionKey: '',
Accept: 'application/json',
'Content-Type': 'application/json',
}
});
res
.json()
.then(res => setWallets(res))
.catch(err => setErrors(err));
}

useEffect(() => {
fetchData();
}, []);  



标签: react-nativereact-hooksexpo

解决方案


在 useEffect 方法中编写函数 fetchData。


推荐阅读