React-native Input HOC для избыточной формы теряет фокус после ввода символа - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь использовать избыточную форму, но, как я читаю, мне нужно HOC для поля ввода, чтобы заменить onTextChange на onChange.У меня есть:

import React from 'react';
import {Input} from 'native-base';

export default function InputField(props) {
    const { input, ...inputProps } = props;

    return (
        <Input
            {...inputProps}
            onChangeText={input.onChange}
            onBlur={input.onBlur}
            onFocus={input.onFocus}
            value={input.value}
        />
    );
};

и я использую его в своей форме:

<Item style={{marginTop: 10, width: "100%"}}>
    <Field name="login" component={(props) => {
        return (
            <InputField {...props} keyboardType="email-address" placeholder='E-mail' />
        )
    }}/>
</Item>

Но каждый раз, когда я набираю клавишу, поле теряет фокус.Некоторые «эксперты» рекомендуют использовать функцию focus ().Но что, если я отредактирую текст в середине этого?Любые решения?Или, может быть, у native-base есть совместимый компонент текстового поля?

1 Ответ

0 голосов
/ 02 февраля 2019

Странно, но работает))

function InputFieldEmail(props) {
    return <InputField {...props} keyboardType="email-address" placeholder='E-mail' />;
}

и использовать вместо него функции стрелок

<Field name="login" component={InputFieldEmail}/>

Мне кажется, это странно)

...