Reactjs 尝试有条件禁用链接时使用TS2339

Reactjs 尝试有条件禁用链接时使用TS2339,reactjs,typescript,react-router,Reactjs,Typescript,React Router,在一个表中,我有一个链接,我想有条件地将其灰显。以下代码在更新之前运行良好: {e.preventDefault();} disabled={this.props.FinalingStatus}> 到这里为止 在标题中,我像往常一样从“react router dom”导入了{Link}。在组件的接口中,我定义了一个属性finalingstatus:Boolean 更新到Typescript(版本4.41.2)后,我得到一个TS2339错误: 属性“disabled”在类型“Intrinsic

在一个表中,我有一个链接,我想有条件地将其灰显。以下代码在更新之前运行良好:

{e.preventDefault();}
disabled={this.props.FinalingStatus}>
到这里为止
在标题中,我像往常一样从“react router dom”导入了{Link}。在组件的接口中,我定义了一个属性
finalingstatus:Boolean

更新到Typescript(版本4.41.2)后,我得到一个TS2339错误:

属性“disabled”在类型“IntrinsicatAttribute&IntrinsicClassAttributes>&Readonly>&Readonly”上不存在

我怎样才能解决这个问题


PS:有些相关,但不是我的问题。

我建议您有条件地呈现
链接
,因为
禁用
可能不是
链接
的有效道具。这样,您就不必担心覆盖由
链接触发的单击事件

如果禁用,则使用禁用的样式渲染
span
元素

下面是一个简单的例子:

render () {
  const { isDisabled } = this.props;
  if(isDisabled){
    return <span className='disabled'>{this.props.linktext}</span>;
  } else {
    return <Link to={this.props.to}>{this.props.linktext}</Link>;
  }
}
render(){
const{isDisabled}=this.props;
如果(已禁用){
返回{this.props.linktext};
}否则{
返回{this.props.linktext};
}
}