React.js 样式化组件:添加 HTML 属性
React.js Styled Components : Adding HTML attributes
所以我们正在使用 styled-components
。我想对我们的可访问性做一些工作,需要将 tabindex="0"
作为 HTML 属性添加到其中一些组件。如果不将其作为道具传递,我该怎么做?
例如
<PlayButton className={className} onClick={handleClick} tabindex="0">
您可以使用属性展开运算符来做到这一点:
let props = condition ? {tabIndex: 1} : {};
let div = <div {...props} />
或者您可以查看他们的文档 Guide
示例:
React 始终为 DOM 提供以 JavaScript 为中心的 API。由于 React 组件通常采用自定义和 DOM 相关的 props,因此 React 使用驼峰命名法,就像 DOM APIs:
<div tabIndex="-1" /> // Just like node.tabIndex DOM API
<div className="Button" /> // Just like node.className DOM API
<input readOnly={true} /> // Just like node.readOnly DOM API
除了上面记录的特殊情况外,这些道具与相应的 HTML 属性类似。
您可以将 tabIndex 直接添加到样式化的组件中,它必须是驼峰式:
<PlayButton className={className} onClick={handleClick} tabIndex="0" />
所以我们正在使用 styled-components
。我想对我们的可访问性做一些工作,需要将 tabindex="0"
作为 HTML 属性添加到其中一些组件。如果不将其作为道具传递,我该怎么做?
例如
<PlayButton className={className} onClick={handleClick} tabindex="0">
您可以使用属性展开运算符来做到这一点:
let props = condition ? {tabIndex: 1} : {};
let div = <div {...props} />
或者您可以查看他们的文档 Guide
示例:
React 始终为 DOM 提供以 JavaScript 为中心的 API。由于 React 组件通常采用自定义和 DOM 相关的 props,因此 React 使用驼峰命名法,就像 DOM APIs:
<div tabIndex="-1" /> // Just like node.tabIndex DOM API
<div className="Button" /> // Just like node.className DOM API
<input readOnly={true} /> // Just like node.readOnly DOM API
除了上面记录的特殊情况外,这些道具与相应的 HTML 属性类似。
您可以将 tabIndex 直接添加到样式化的组件中,它必须是驼峰式:
<PlayButton className={className} onClick={handleClick} tabIndex="0" />