Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не пойму как работает оператор ++ в конце выражения (https://javascript.ru/forum/dom-window/68342-ne-pojjmu-kak-rabotaet-operator-v-konce-vyrazheniya.html)

alexandr2006 10.04.2017 22:24

Не пойму как работает оператор ++ в конце выражения
 
Не пойму как работает оператор ++ в конце выражения.

Вот калькулятор на реакт: http://jsbin.com/gekesuqola/edit?html,js,output. Кликаем, не прибавляет.


Вот на вью: https://jsbin.com/hamopol/edit?html,js,output
Кликаем, прибавляет

Царь Леонид 10.04.2017 23:06

class Test extends React.Component {
  constructor(props) {
    super(props)
    this.state = {
      count: 1
    }
  }
  handler = () => {
    this.setState({
      count: ++this.state.count
    })
  }
  render() {
    return (
      <div>
        <button onClick={this.handler}>Add 1</button>
        <p>{this.state.count}</p>
      </div>
    );
  }
}

ReactDOM.render(
  <Test />,
  document.getElementById("test"));

alexandr2006 11.04.2017 08:03

Цитата:

Сообщение от Царь Леонид (Сообщение 449747)
count: ++this.state.count

Вопрос был почему в одном случае число при клике увеличивается, а в другом нет

Alexandroppolus 11.04.2017 10:03

Vue использует наблюдатель за объектом, судя по всему
https://habrahabr.ru/post/225065/

рони 11.04.2017 10:37

:-? ... возможно this в одном случае компонент React, а в другом window.


Часовой пояс GMT +3, время: 05:03.