Javascript 使用react禁用按钮失败 render(){ const{loading}=this.state; 返回( {!正在加载?:} ) }

Javascript 使用react禁用按钮失败 render(){ const{loading}=this.state; 返回( {!正在加载?:} ) },javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,上面的jsx有意义吗?我没有收到任何遵从错误,只是收到react的警告,说标签上的未知道具已禁用。 如何以正确的方式将按钮的属性更改为禁用?想象一下,如果我的输入有很多css类,我是否也需要重复它们?我觉得这是多余的。您不需要在输入标记上进行条件呈现。你可以用下面的方法来做 类应用程序扩展了React.Component{ 建造师(道具){ 超级(道具); 此.state={ 加载:正确 } } render(){ const{loading}=this.state; 返回( ) } } Re

上面的jsx有意义吗?我没有收到任何遵从错误,只是收到react的警告,说标签上的
未知道具
已禁用


如何以正确的方式将按钮的属性更改为禁用?想象一下,如果我的输入有很多css类,我是否也需要重复它们?我觉得这是多余的。

您不需要在
输入
标记上进行条件呈现。你可以用下面的方法来做

类应用程序扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
加载:正确
}
}
render(){
const{loading}=this.state;
返回(
)
}
}
ReactDOM.render(,document.getElementById('app'))

输入
标记上不需要条件呈现。你可以用下面的方法来做

类应用程序扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
加载:正确
}
}
render(){
const{loading}=this.state;
返回(
)
}
}
ReactDOM.render(,document.getElementById('app'))


请注意,您实际上是在呈现文本字段。请注意,您实际上是在呈现文本字段。请注意,不鼓励使用
构造函数
来设置初始
状态
,此外,当您使用
超级
时,您还应将
…道具
传递给它,以防您将在同一上下文中使用
this.props
。最好使用类属性语法。(
state={…stuff}
)@FezVrasta我同意你的观点,应该将props传递给构造函数和super,否则它可能导致潜在的bug。然而,为什么不鼓励设置状态构造函数呢。参见,文档使用了
构造函数,因为它更广泛,但由于我的解释,它会导致更多的bug。您可以在类属性中引用
this.props
,避免任何
super
怪癖。请注意,不鼓励使用
构造函数
来设置初始
状态
,此外,当您使用
超级
时,您还应将
…道具
传递给它,以防您将在同一上下文中使用
this.props
。最好使用类属性语法。(
state={…stuff}
)@FezVrasta我同意你的观点,应该将props传递给构造函数和super,否则它可能导致潜在的bug。然而,为什么不鼓励设置状态构造函数呢。参见,文档使用了
构造函数,因为它更广泛,但由于我的解释,它会导致更多的bug。您可以在类属性中引用
this.props
,避免任何
super
怪癖。
render(){
  const { loading } = this.state;
  return(
    <div>
      {!loading ? <input disabled type='text' /> : <input type='text' />}
    </div>
  )
}