Javascript 使用TSX语法时如何在HTML span中使用href?

Javascript 使用TSX语法时如何在HTML span中使用href?,javascript,html,reactjs,typescript,Javascript,Html,Reactjs,Typescript,我不熟悉使用Typescript,如果这是一个新手问题,我会非常抱歉。在我的代码中,我有以下行: 名称空间 当代码仅使用Javascript/React时,这一点原本可以正常工作,但当我将文件转换为.tsx(Typescript)时,出现以下错误: Type '{ children: string[]; href: string; id: string; style: { color: string; width: string; }; }' is not assignable to type

我不熟悉使用Typescript,如果这是一个新手问题,我会非常抱歉。在我的代码中,我有以下行:

名称空间

当代码仅使用Javascript/React时,这一点原本可以正常工作,但当我将文件转换为.tsx(Typescript)时,出现以下错误:

Type '{ children: string[]; href: string; id: string; style: { color: string; width: string; }; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>'.
  Property 'href' does not exist on type 'DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>'.
类型“{children:string[];href:string;id:string;style:{color:string;width:string;};}”不能分配给类型“DetailedHTMLProps”。
类型“DetailedHTMLProps”上不存在属性“href”。
这是否意味着我不能在span元素中使用href?如何解决此问题?

HTML元素仅允许。因此
href
属性不会对
span
产生影响,因此您会得到一个Typescript错误

注意:
href
属性通常仅在HTML元素上找到。因此
href
属性不会对
span
产生影响,因此您会得到一个Typescript错误

注意:
href
属性通常只在标签上找到,标签没有
href
属性。您可以通过以下方式将跨度标记附加到锚定标记:

<span>
    :&nbsp; 
    <a href="#">
        Namespace
    </a>
</span>

:  
标记没有
href
属性。您可以通过以下方式将跨度标记附加到锚定标记:

<span>
    :&nbsp; 
    <a href="#">
        Namespace
    </a>
</span>

:  

您是否能够解释为什么要将
href
添加到span?我正在学习一个教程,它在示例代码中。我删除了它,它似乎工作得很好,我将确保在下次实现它之前了解所有组件!您是否能够解释为什么要将
href
添加到span?我正在遵循一个教程,它在示例代码中。我删除了它,它似乎工作得很好,我将确保在下次实现它之前了解所有组件!我没有意识到href通常用于锚定标记。谢谢你的帮助!我没有意识到href通常用于锚定标记。谢谢你的帮助!非常感谢你的提示。我不知道span元素只能允许全局属性。我最终从代码中删除了href属性,因为它没有被积极使用。非常感谢您的提示。我不知道span元素只能允许全局属性。我最终从代码中删除了href属性,因为它没有被积极使用。