我现在正在用 React 构建一个旋转木马。要滚动到我使用的单个幻灯片,document.querySelector如下所示:
useEffect(() => {
document.querySelector(`#slide-${activeSlide}`).scrollIntoView({
behavior: 'smooth',
block: 'nearest',
inline: 'nearest'
});
}, [activeSlide]);
Run Code Online (Sandbox Code Playgroud)
这是不好的做法吗?毕竟,我在这里直接访问 DOM?这样做的 React 方式是什么?
编辑:完整return方法
return (
<>
<button onClick={() => setActiveSlide(moveLeft)}>PREV</button>
<Wrapper id="test">
{children.map((child, i) => {
return (
<Slide id={`slide-${i}`} key={`slide-${i}`}>
{child}
</Slide>
);
})}
</Wrapper>
<button onClick={() => setActiveSlide(moveRight)}>NEXT</button>
</>
);
Run Code Online (Sandbox Code Playgroud) 这就是我的代码:
$('.mainSpan:before').css('background','url(_gfx/cmn/main_bg.png)');
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用所以我问是否有可能使用jQuery将背景图像添加到阴影元素.