Почему второй cin.ignore () необходим?

Привет, я проверил твой код, и он работает так, как ты ожидал.

Вот вам песочница: https://codesandbox.io/s/7yry1onrq6

Чтобы увидеть изменения после нажатия TextComponent, просто используйте [ 112] реквизит в AreaComponent.

Это пример, отражающий ваш код:

class AreaComponent extends React.Component {
  componentDidUpdate() {
    console.log("update - component");
  }

  componentWillReceiveProps(nextProps) {
    console.log("receive - component");
  }
  render() {
    return 

{this.props.editedValue}

; } }

В приведенном выше примере editedValue корректно меняется после нажатия.

5
задан Cristián Romo 10 March 2009 в 16:48
поделиться

2 ответа

Discl: я упрощаю то, что действительно происходит.

Первые подачи, которые произведут чистку того, что не использовал оператор извлечения (>>). Второе ожидает другого \n.

Это - точно то же, когда мы делаем станд.:: getline после извлечения: a the_stream::ignore(std::numeric_limits<streamsize>::max(), '\n'); требуется перед вызовом к станд.:: getline ()

8
ответ дан 14 December 2019 в 04:48
поделиться

Это странно. На какой платформе Вы работаете? По определению, ignore извлечения и отбрасывания n символы от входного потока или если это поражает EOF, это останавливается. Если Вы не указываете параметров, это извлекает 1 символ. В Windows окончание строки вовлекает обоих a \r и a \n - в общей сложности два символа (возврат каретки, сопровождаемый новой строкой).

0
ответ дан 14 December 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: