我正在將我的 React 專案轉換為 TypeScript,但無法弄清楚如何擴展 React.HTMLPorps 以接受自定義 CSS 資料屬性。
我在專案中使用的一個常見模式是:
const MyComponent = ( ) => <div mycustomattr="true"/>;
我試過創建一個這樣的界面:
interface ExtendedDiv extends HTMLProps<HTMLDivElement> {
mycutomattr: "true" | "false";
};
但是,我不確定如何將其應用于 JSX div 元素。
uj5u.com熱心網友回復:
我可以看到兩種方式:
- 最簡單的方法是重命名屬性 -
custom=>data-custom。但這會導致:
<div data-custom="true" />
- 擴展反應介面
HTMLAttributes,但它將允許此屬性到所有元素
interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
// extends React's HTMLAttributes
custom?: boolean;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/530061.html
標籤:css反应打字稿tsx
上一篇:從0到1搭建redis6.0.7
