You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用组件时ID查询异常:存在于Members数组却提示未找到

问题分析与解决方案

核心问题

你代码里的ID匹配逻辑写错了。从控制台输出的Erstes Mitglied ID: Mitglieder[0].member.id可以明确:Mitglieder数组的每个元素中,ID是嵌套在member子对象里的,但你当前用的是member.id === MyID,直接取了元素根层级的id(这个值大概率不存在或者和目标ID不匹配),所以才会一直提示未找到成员。

修正代码

把some方法里的匹配条件改成member.member.id === MyID即可,修正后的代码如下:

useEffect(() => {
  Api.getMe().then(response => {
    const MyID = response.data.id;
    // 修正:取嵌套在member对象里的id
    const memberExists = Mitglieder.some((member) => member.member.id === MyID);
    console.log('Eigene ID:', MyID);
    console.log('Mitglieder:', Mitglieder);
    console.log('Erstes Mitglied ID: ', Mitglieder[0].member.id);

    if (memberExists) {
      console.log(`Mitglied mit der ID ${MyID} existiert.`);
    } else {
      console.log(`Kein Mitglied mit der ID ${MyID} gefunden.`);
    }

  }).catch(error => {
    console.error('Fehler beim Abrufen der ID:', error);
  });
}, []);

额外提示

  • 你在then回调里写的return true/false没有实际作用,因为这是异步回调函数,返回值不会被外部捕获。如果需要根据匹配结果做后续操作,可以用React状态(比如useState)来存储memberExists的值。
  • 确保Mitglieder数组在useEffect执行时已经正确加载完成,如果Mitglieder是异步获取的,需要把它加入useEffect的依赖数组,否则会拿到初始的空数组或旧数据。

内容的提问来源于stack exchange,提问作者Dav13ide12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 14:38:11