reactjs - 在获取数据时得到错误的输出?
问题描述
我想问你关于我的反应程序。首先我需要获取用户数据,然后通过用户 ID 加载事件。有时,没有获取数据(主要是在重新加载页面之后),但有时会获取数据。然后我得到奇怪的输出:
为什么第二次获取的数据被命名为“未定义”?您对改进此代码和获取数据有什么想法吗?
我的代码:
const [historyTeams, setHistoryTeams] = useState([]);
const [event, setEvent] = useState([]);
const userId = useParams().userId;
const loadUserData = (userId, token) => {
getUserData(userId, token).then(data => {
if (!data.error) {
setHistoryTeams(data.historyTeams);
}
else {
setStatus({...status, error: data.error});
}
});
}
const loadEventData = (eventId) => {
getEvent(eventId).then(data => {
if (data.error) {
console.log(data.error);
}
else {
setEvent({...event, data});
}
});
}
useEffect(() => {
loadUserData(userId, token);
}, []);
useEffect(() => {
if(historyTeams){
for(let i = 0; i < historyTeams.length; i++){
loadEventData(historyTeams[i].eventId);
}
}
}, []);
解决方案
您的 userId 未定义,这就是您在对象的键中未定义的原因。
推荐阅读
- dapper - MySQL + Dapper 扩展:SQL 语法错误
- pipeline - 无法配置 Spinnaker bitbucket 管道
- c++ - 类对象数组的问题导致崩溃
- python - 如何使用 pip 正确安装 TensorFlow?
- python - Pandas 条形图组合在一起
- reactjs - 除了 React.js 中的 undefined 之外,我无法让状态返回
- python - 如何在python中截断小数点后两位的数字?
- python - 将值从 df 存储到变量
- php - 如何根据 JSON 的响应在 PHP 中创建 IF ELSE 语句?
- python - 如何以与 Java 相同的速度用函数值填充 numpy 中的 3D 数组?