javascript - 通过 Context API 映射数据?
问题描述
在我的 React App 的 Context API 中,我有这个功能
const [coins, setCoins] = useState({});
const fetchCoins = async (category) => {
if (coins[category]) {
return;
}
let { data } = await axios({
method: "get",
url: `/api/coins/getCoins`,
params: { category },
});
const newCoins = { ...coins };
newCoins[category] = data;
setCoins(newCoins);
};
在我的一个组件中
const [coinData, setCoinData] = useState([]);
useEffect(() => {
const loadData = async () => {
setLoading(true);
const data = await myContext.fetchCoins(currentCategory);
setCoinData(myContext.coins);
setLoading(false);
};
loadData();
}, [currentCategory, myContext]);
但是 coinData 是未定义的?是因为取所有硬币需要一段时间吗?如果是这样,我如何让 setCoinData 等待,以便在上下文 api 中的获取完成后,我可以存储该数据?谢谢
解决方案
推荐阅读
- python - Selenium Python 选择下拉元素
- swift - 无法设置浅灰色强调色
- error-handling - 如果 Option 是 Some,则返回 Err 的惯用方式
- java - 如何创建具有用户定义维度的矩阵并使用从上到下、从左到右递增的值填充它?
- google-cloud-platform - 在 Cloudbuild 上找不到模块“/workspace/use”
- angular - (ngModel)] 具有默认输入值的输入
- google-analytics - 来自 GTM 的多个 Google Analytics 脚本
- angular - 防止 MatDialog 破坏组件
- arrays - 在 C 中绘制条形图
- python - 在 Windows 10 操作系统中使用 Pyspark 的错误流元数据