почему setState не меняет ключ редактирования на true? - PullRequest
0 голосов
/ 08 мая 2018

Функция редактирования не изменяет состояние редактирования на 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()
}

}

1 Ответ

0 голосов
/ 08 мая 2018

Вы должны изменить это:

this.setState = ({
  editing: true
})

к этому:

this.setState({
  editing: true
})

Кроме того, вы должны связать метод edit или использовать вместо него функцию стрелки. Это необходимо, поскольку в JavaScript контекст функции определяется при вызове функции, а не при ее определении.

Здесь вы можете проверить пример.

...