我对 React 相当陌生,但想知道适用于常规 DOM 的相同限制是否也适用于 React DOM,在这种情况下,HTML 元素 ID 的唯一性。我问是因为在我正在使用的代码中,我发现了一个复选框组件,该组件将 ID 作为属性并将其设置在子元素上。虽然这只会渲染带有 ID 的实际 DOM 中的一个元素,但在 React DOM 中,现在将有两个带有 ID 的元素,除了子元素之外,组件本身还将拥有它。
const Checkbox = ({
label,
name,
id,
allowLabelHtml = false,
checked = false,
className = "checkbox-element",
onCheck = () => {},
onUncheck = () => {},
onChange = value => (value ? onCheck() : onUncheck()),
onBlur = () => {},
labelClass = ""
}) => (
<div className={className}>
<input
id={id}
name={name}
type="checkbox"
className="standard-checkbox-style"
onChange={() => onChange(!checked)}
checked={checked}
onBlur={onBlur}
/>
{label !== null && (
<label className={labelClass} htmlFor={name}>
{label}
</label>
)}
</div>
);
另外这里是用于 chrome DOM 资源管理器事物的 React 开发人员工具的屏幕截图
