Обработка ввода физического сканера штрих-кода в TextInput

Я пытаюсь захватить данные сканера штрих-кода с физического устройства, которое подключается через Bluetooth к TextInput в моем родном приложении для реагирования.

При сканировании TextInpt onChangeText запускается только для не более 1 символа от начала (длина штрих-кода составляет 10). И я ожидаю, что сканер штрих-кода вызовет событие ввода, и сработает onSubmitEditing. Но это не так.

Например: если штрих-код ABCDSDF-124445, в качестве штрих-кода будет получен только первый символ (только A).

Вот мой TextInput с установленными функциями useState

const [barcodeNo, setBarcodeNo] = useState('');

const changeBarcode = (barcode) => {
    // some validations
    setBarcodeNo(barcode);
}

const submitBarcode = () => {
    handleBarcodeScan(barcodeNo);
    setBarcodeNo('');
}

<Input
    value={barcodeNo}
    onChangeText={changeBarcode}
    onSubmitEditing={submitBarcode}
/>

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


person camille    schedule 13.10.2020    source источник
comment
должен ли сканер начинать сканирование, когда вы нажимаете на ввод? это не ясно   -  person RowanX    schedule 13.10.2020
comment
Сканер @RowanX запускается, когда я фокусирую TextInput, а затем сканирую штрих-код со сканера штрих-кода.   -  person camille    schedule 13.10.2020
comment
Эта статья может быть полезна. React Native прослушивает все входные данные   -  person kunif    schedule 14.10.2020