既然 id 属性在 Reactjs 组件中很少使用,因为 id 属性意味着组件不会被重用,那么是否使用 className 属性来代替 id 属性呢?如果是这样的话,那么 Reactjs 中相当于 HTML 中的 class 属性的是什么?
最佳答案
className
用于 CSS 样式的类名称,就像其他地方一样。
出于样式目的,您可以为某些东西指定一个唯一的 className
,就像您给它一个 id
的方式一样,当然,但这并不意味着其他任何东西对于其他 className
用法,它永远不能真正直接等同于 id
,因为 className
可以包含多个类名,而这些类名都不必是独特的。 (还有 pretty good reasons not to use id for styling ,不管 React)。
在 React 中不给某些东西一个 id 的一个更常见的原因是,你很少需要添加钩子(Hook)来从真实的 DOM 中查找元素,因为你可以使用 state 或 props 来控制渲染更改,这些更改可以执行您需要执行的任何动态操作,如果您确实需要去抓取一个元素,您可以给它一个ref
名称并使用 getDOMNode() 就可以了。
关于reactjs - className 属性是否承担 Reactjs 中 id 属性的角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28519023/