getElementById,但对于每个组件而言是独一无二的

发布于 2025-02-11 09:53:56 字数 341 浏览 0 评论 0原文

我有可重复使用的组件,需要在上面访问其“ ID”以进行滚动:

var slider = document.getElementById('slider');
slider.scrollLeft = slider.scrollLeft - (3);

ID被声明:

<div
    id='slider'
    className="scroll-smooth"
>

我知道这是错误的,并且只要使用多个这样的组件,它显然会失败,因为只有第一个组件的滑块交互才发生。 如何创建一个“唯一” ID(或其他)以使ID真正独特的ID?

I have reusable component on which I need to access its 'id' for scrolling:

var slider = document.getElementById('slider');
slider.scrollLeft = slider.scrollLeft - (3);

The Id is declared:

<div
    id='slider'
    className="scroll-smooth"
>

I know this is wrong and it obviously fails whenever more than one such component is used, as only the the first component's slider interaction takes place.
How can I create a 'unique' Id (or something else) to make the id's truly unique to each object?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生生漫 2025-02-18 09:53:56

useref ,而不是getelementbyid

import { useRef } from 'react';

const sliderRef = useRef(null);
sliderRef.current.scrollLeft = sliderRef.current.scrollLeft - (3);

<div
    ref={sliderRef}
    className="scroll-smooth"
></div>

useRef, instead of getElementById

import { useRef } from 'react';

const sliderRef = useRef(null);
sliderRef.current.scrollLeft = sliderRef.current.scrollLeft - (3);

<div
    ref={sliderRef}
    className="scroll-smooth"
></div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文