Javascript 在JSX中单击onClick时切换变量
我的构造函数中有一个默认状态Javascript 在JSX中单击onClick时切换变量,javascript,reactjs,Javascript,Reactjs,我的构造函数中有一个默认状态 this.state { showModal:false } 那么,我如何在不声明函数的情况下切换值,而直接在JSX中进行切换呢?我发现函数中的代码太多了。就这样做就不能更简单吗 render(){ return(<div onClick={()=>this.setState({showModal:!showModal})}></div>) } render(){ 返回(this.setState({showmode
this.state {
showModal:false
}
那么,我如何在不声明函数的情况下切换值,而直接在JSX中进行切换呢?我发现函数中的代码太多了。就这样做就不能更简单吗
render(){
return(<div onClick={()=>this.setState({showModal:!showModal})}></div>)
}
render(){
返回(this.setState({showmodel:!showmodel}}}>)
}
但我在上面的JSX中得到了语法错误。为什么? 记住,React状态在
this.state
属性中维护,因此您需要引用this.state.showmodel
,而不是this.showmodel
正确的方法是:
<div onClick={() =>
this.setState({showModal: !this.state.showModal})}>
</div>
this.setState({showmodel:!this.state.showmodel})}>
至于只使用JSX(不声明函数)实现这一点,这是不可能的。JSX是JavaScript。记住,React状态在
this.state
属性中维护,因此您需要引用this.state.showmodel
,而不是this.showmodel
正确的方法是:
<div onClick={() =>
this.setState({showModal: !this.state.showModal})}>
</div>
this.setState({showmodel:!this.state.showmodel})}>
至于只使用JSX(不声明函数)实现这一点,这是不可能的。JSX是JavaScript。@bejado不会工作,你会遇到什么错误?@bejado不会工作,你会遇到什么错误?