Реагировать на мерцание собственного TextInput на setState - PullRequest
1 голос
/ 22 апреля 2019

Я строю компонент Input Input, используя React Native TextInput. Пока пользователь печатает, необходимо, чтобы текст всегда форматировался следующим образом:

$ + [integer-part] . [2 digits decimals]

Так, например, если пользователь вводит 2, его следует автоматически отформатировать в $0.02. Я могу выполнить форматирование, пока пользователь печатает, как показано на снимке экрана ниже:

enter image description here

В основном, используя onChangeText, я применяю некоторое форматирование, а затем вызываю setState с отформатированным значением.

Проблема здесь в том, что вновь напечатанный символ говорит в течение одной секунды, прежде чем будет правильно отформатирован. И это приводит к кратковременному миганию TextInput.

Я посмотрел на этот аналогичный вопрос . Но не только я не мог понять, как принятый ответ может решить мою проблему. И даже когда я сделал как предложено, это не сработало.

Я не знаю, как справиться с этой проблемой: кажется, что TextInput не может быть полностью "управляемым", так как он отображает вводимый символ, хотя я явно заявил:

value={this.state.value}

Любая помощь от сообщества будет принята с благодарностью

...