Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ReactJS中使用useRef获取元素_Javascript_Html_Reactjs - Fatal编程技术网

Javascript 如何在ReactJS中使用useRef获取元素

Javascript 如何在ReactJS中使用useRef获取元素,javascript,html,reactjs,Javascript,Html,Reactjs,我想在的日程卡上添加一些活动。我尝试获取根元素,然后查询选择时间表卡的所有属性 日程表卡calendarRef已存在。来自getRootElement的根元素存在日程表卡的div标记,但my元素仍然为空 怎么了?我的目的是获取ScheduleCard元素,然后为每个元素添加contextmenu。谢谢 更新:我将useLayoutEffect更改为useEffect,然后它就可以工作了。但只在Codesanbox上,不是我的项目:D我不知道为什么 看看这个。它看起来很管用。我刚刚获得了一个带有g

我想在的日程卡上添加一些活动。我尝试获取根元素,然后查询选择时间表卡的所有属性

日程表卡calendarRef已存在。来自
getRootElement
的根元素存在日程表卡的div标记,但my
元素仍然为空

怎么了?我的目的是获取ScheduleCard元素,然后为每个元素添加contextmenu。谢谢

更新:我将useLayoutEffect更改为useEffect,然后它就可以工作了。但只在Codesanbox上,不是我的项目:D我不知道为什么


看看这个。它看起来很管用。我刚刚获得了一个带有
getInstance()
的日历实例,然后通过
instance.getElement(sc.id,sc.calendarId)
获得了对DOM元素的引用

useEffect(() => {
    if (calendarRef && calendarRef.current) {
      const instance = calendarRef.current.getInstance();
      schedules.forEach((sc) => {
        /*
        const instance = calendarRef.current?.getRootElement();
        const element = instance.getElementsByClassName(
          "tui-full-calendar-time-schedule "
        );
        const elementArr = Array.from(element!);
        console.log(elementArr);
        */
        console.log(instance.getElement(sc.id,sc.calendarId));
      });
    }
  });