gpt4 book ai didi

reactjs - 如何使用 useRef 改变元素的样式?

转载 作者:行者123 更新时间:2023-12-03 18:25:15 39 4
gpt4 key购买 nike

我想使用 useRef Hook 来更改 DOM 元素的样式:

const Box = props => {
const box = useRef(0);

const onClick = () => {
box.current.backgroundColor = "blue";
};

return (
<div>
<div
ref={box}
style={{ width: "300px", height: "300px", backgroundColor: "red" }}
/>
<button onClick={onClick}>Change color of box</button>
</div>
);
};

但是,如果我点击按钮, backgroundColorbox 不会改变。

我还创建了一个 simple code snippet ,它说明了我的问题。

最佳答案

您正在尝试直接在 DOM 元素上修改不存在的 backgroundColor 属性:

box.current.backgroundColor = "blue";

哪个(如果有效)将您的 DOM 元素修改为:
<div backgroundColor="blue" ... />

为了使其工作,您需要通过 backgroundColor属性修改 style:
box.current.style.backgroundColor = "blue";

Working version of your snippet

关于reactjs - 如何使用 useRef 改变元素的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56920315/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com