Я строю компонент Input Input, используя React Native TextInput.
Пока пользователь печатает, необходимо, чтобы текст всегда форматировался следующим образом:
$ + [integer-part] . [2 digits decimals]
Так, например, если пользователь вводит 2
, его следует автоматически отформатировать в $0.02
. Я могу выполнить форматирование, пока пользователь печатает, как показано на снимке экрана ниже:
В основном, используя onChangeText, я применяю некоторое форматирование, а затем вызываю setState с отформатированным значением.
Проблема здесь в том, что вновь напечатанный символ говорит в течение одной секунды, прежде чем будет правильно отформатирован. И это приводит к кратковременному миганию TextInput.
Я посмотрел на этот аналогичный вопрос . Но не только я не мог понять, как принятый ответ может решить мою проблему. И даже когда я сделал как предложено, это не сработало.
Я не знаю, как справиться с этой проблемой: кажется, что TextInput не может быть полностью "управляемым", так как он отображает вводимый символ, хотя я явно заявил:
value={this.state.value}
Любая помощь от сообщества будет принята с благодарностью