Ввод onChange и React логика

[Требуется ODATA или возможность фильтрации]

Общим решением этой проблемы является одно (или два поля):

updatedDate / CreatedDate

и фильтрация результатов с помощью UpdateDate / CreatedDate> = LastSuccessfulSyncDate

Вам нужно изменить поле UpdateDate / CreatedDate при каждом изменении строки. Для достижения этой цели используйте триггеры базы данных или логику вашего приложения.

Вы также можете посмотреть лучшую связь между вашими прикладными процессами с помощью брокера сообщений, например RabbitMQ или Azure Service Шина

1
задан LePioo 21 January 2019 в 04:43
поделиться

2 ответа

Я думаю, вы можете сделать это.

onBlur = () => {
  this.setState(prevState => ({ lastNumber: prevState.selectedNumber }));
}

onChange = (e) => {
  this.setState({ selectedNumber: e.target.value });
}

Теперь, каждый раз, когда фокус размыт от ввода, ваш lastNumber обновляется. И при нажатии кнопки отмены все должно работать нормально. Надеюсь это работает. Удачного кодирования :)

0
ответ дан bjupreti 21 January 2019 в 04:43
поделиться

Я нашел решение на этом форуме ...

stackoverflow.com/questions/53479598/reactjs-save-input-value-on-blur-and-not-on-every-key-stroke

НО документация React сообщает что это не очень хорошая практика ...

Вы можете немедленно вызвать setState () в componentDidUpdate (), но [...] это также вызовет дополнительный повторный рендеринг, который, хотя и невидим для пользователя, может повлиять на производительность компонента. Если вы пытаетесь «отразить» какое-то состояние для опоры, идущей сверху, рассмотрите возможность использования опоры напрямую.

Я поместил в мой обновленный код решение, приведенное по ссылке выше. Можете ли вы подтвердить, что этот подход не подходит и какова альтернатива?

[110 ]
<html>
<head>
  <meta charset="utf-8">
</head>
<body>
  <div id="root">
  </div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
</body>
</html>

0
ответ дан LePioo 21 January 2019 в 04:43
поделиться
Другие вопросы по тегам:

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