Как предотвратить модальный повторный рендеринг при обновлении состояния? - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть реагирующая модель bootstrap с двумя входами внутри. Модальное отображается, когда свойство showModal в состоянии изменяется на true. Я обновляю свойство fieldOne (также внутри состояния) при изменении входного значения. Таким образом, всякий раз, когда я вводю что-то на вход, модальные вспышки (перерисовываются) также.

Как предотвратить повторный рендеринг модала при обновлении состояния?

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

Если вы не хотите повторного рендеринга, используйте переменную, отличную от state, для хранения ваших данных:

constructor (props) {
  super(props);
  this.state = {
    input: ''
  };
  this.holder = '';
}
handleInput(input) {
  this.holder = input;
}
submitInput() {
  this.setState({input: this.holder})
}
render () {
  return (
    <input type="text" onChange={(e) => this.handleInput(e.target.value)} onBlur={() => this.submitInput()} />
  )
}

Цель состояния состоит в том, чтобы React оценил необходимость изменения DOM, и если он это делает, то он рендерится заново.

0 голосов
/ 03 февраля 2020

Может быть, вам следует разделить ваш мод с входами на два отдельных компонента. Это должно исправить ваши проблемы с рендерингом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...