Javascript 为什么setState会';新台币;编辑「;真正的关键?

Javascript 为什么setState会';新台币;编辑「;真正的关键?,javascript,reactjs,setstate,Javascript,Reactjs,Setstate,编辑功能不会将编辑状态更改为true 我不知道该怎么办: class Note extends React.Component { constructor (props) { super(props) this.state = { editing: false } } /**edit() { this.setState = ({ editing: true })**/ } remove() { alert (

编辑功能不会将编辑状态更改为true

我不知道该怎么办:

class Note extends React.Component {
constructor (props) {
    super(props)
    this.state = {
        editing: false

    }

}
/**edit() {
    this.setState = ({
        editing: true
    })**/

}

remove() {
    alert ("removed")
}

save() {
    alert ("saved")
}

renderForm() {
    return (
        <div className="note">
            <form>
                <textarea/>
                <button onClick={this.save}> click  </button>
            </form>
        </div>
    )
}

renderDisplay() {
    return (
        <div className="note">
            <p> Learn React </p>
            <span>
                <button onClick={this.edit} id="edit"> Edit </button>
                <button onClick={this.remove} id="remove"> Delete </button>
            </span>
        </div>
    )
}

render() {
    return this.state.editing ? this.renderForm() : this.renderDisplay()
}
类注释扩展了React.Component{
建造师(道具){
超级(道具)
此.state={
编辑:假
}
}
/**编辑(){
this.setState=({
编辑:对
})**/
}
删除(){
警报(“已删除”)
}
保存(){
警报(“已保存”)
}
renderForm(){
返回(
点击
)
}
renderDisplay(){
返回(
学习反应

编辑 删除 ) } render(){ 返回this.state.editing?this.renderForm():this.renderDisplay() }

}

您应该更改此选项:

this.setState = ({
  editing: true
})
为此:

this.setState({
  editing: true
})
另外,您应该绑定
edit
方法或使用箭头函数。这是必需的,因为在JavaScript中,函数上下文是在调用函数时定义的,而不是在定义函数时定义的


您应该更改此选项:

this.setState = ({
  editing: true
})
为此:

this.setState({
  editing: true
})
另外,您应该绑定
edit
方法或使用箭头函数。这是必需的,因为在JavaScript中,函数上下文是在调用函数时定义的,而不是在定义函数时定义的