![]() |
1
-1
看起来您正试图在React中管理所选列表项(li)的状态,同时还直接操作DOM来更改所选项的背景色。React通常不建议直接操作DOM,因为这可能导致实际DOM状态和React组件状态之间的不一致。相反,您应该使用React的状态和渲染功能来实现所需的行为。 通过使用组件中的状态来跟踪当前选定的项目,可以管理选择状态和背景色更改。然后,您可以根据某个项是否为选定项,有条件地将类应用于该项。这种方法将所有内容都保留在React的声明性模型中。 以下是一个如何修改代码以使用React状态来管理选择和背景颜色更改的示例:
在本例中,setCurrentSelection用于使用当前选定的项更新组件的状态。每个li元素的className是根据其内容是否与当前所选项的内容匹配而有条件地设置的。这消除了对直接DOM操作的需要,并确保您的组件仍然是其状态和呈现的唯一真相来源。 |
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |