我開始將 React 與 Typescript 一起使用,我正在嘗試將“name”屬性添加到“div”,但 Typescript 抱怨這一點并且不允許我添加它,因為該屬性不存在。
這是我收到的完整資訊:
Type '{ children: Element[]; name: string; className: string; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
Property 'name' does not exist on type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.ts(2322)
我該如何解決?以下是 .tsx 檔案的示例:
import React from "react";
export default function TestComponent() {
return <div name="component-name">Test</div>;
}
我正在使用需要組件名稱屬性的庫 react-scroll。
uj5u.com熱心網友回復:
我正在使用需要組件名稱屬性的庫 react-scroll。
您誤讀了檔案。
這是它的引述:
var Scroll = require('react-scroll'); var Element = Scroll.Element; var scroller = Scroll.scroller; <Element name="myScrollToElement"></Element>
它需要組件name上的道具Element(由庫提供),而不是.div
uj5u.com熱心網友回復:
錯誤是正確的,HTMLDivElement沒有name屬性,并且name是div元素的無效屬性。
如果要在元素上放置非標準、不可見的資訊,請使用data-*屬性:
<div data-name="component-name">Test</div>
...如果您需要從 DOM 元素中檢索其值(例如,通過 ref),請使用getAttributeor dataset。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/476370.html
標籤:javascript html 反应 打字稿
上一篇:在js陣列中查找缺失的月份
