首页 > 解决方案 > 在获取数据时得到错误的输出?

问题描述

我想问你关于我的反应程序。首先我需要获取用户数据,然后通过用户 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);
            }
        }
    }, []);

标签: reactjs

解决方案


您的 userId 未定义,这就是您在对象的键中未定义的原因。


推荐阅读