Javascript 反应意外标记,预期为“…”&引用;

Javascript 反应意外标记,预期为“…”&引用;,javascript,reactjs,Javascript,Reactjs,我在这段代码中做错了什么,我不知道如何编写它。我想测试状态invalidForm,并根据具体情况设置为禁用或空 状态代码更新 if(valid) { return true; } else { this.setState({ invalidForm: true }) } } <button {this.state.invalidForm ? 'disabled' : null} type="submit">S

我在这段代码中做错了什么,我不知道如何编写它。我想测试状态
invalidForm
,并根据具体情况设置为禁用或空

状态代码更新

if(valid) {
        return true;
    } else {
      this.setState({
        invalidForm: true
      })
    }
}


<button {this.state.invalidForm ? 'disabled' : null} type="submit">Submit</button>
,则无法动态执行此操作。传递一个值:

<button disabled={this.state.invalidForm}>Submit</button>
运行示例:

ReactDOM.render(
按钮1
按钮2
,
文件正文
);


它不是HTML,JSX使用XML语法,因此您需要指定完整的attribute=“value”字符串:
@Mike'Pomax'Kamermans:这不太正确:检查您的文件扩展名,应该是。tsxI在上面添加了一些代码。当表单无效时,它会设置一个键值为
invalidForm:true
的状态。因此,当无效表单无效时,如何删除禁用的表单!true@AndersKitson:表单有效时,您似乎没有更新状态,因此组件不会重新加载以更新按钮。而不是
如果。。。else
语句您应该执行
this.setState({invalidForm:!valid})
<button disabled={this.state.invalidForm}>Submit</button>
<button disabled={Boolean(this.state.invalidForm)}>Submit</button>