更新渲染的组件道具

是否可以通过单击等事件来更新React组件的props(例如className)?由于已渲染组件,因此似乎是不可能的。

评论
  • dsit
    dsit 回复

    是的你可以。

    创建一个状态并保留className:

    const [elmClass, setElmClass] = React.useState("first");
    

    使用className并在onClick上对其进行更新:

    <div className={elmClass} onClick={() => {setElmClass("second")}>
      Change my className
    </div>
    

    看一下这个例子:

    https://codesandbox.io/s/fast-bash-bcfx7