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};
}
}