0

私のバックグラウンドは iOS 開発者であり、迅速に MyInput: UITextField (React Native Input に代わる迅速なコンポーネント) を実行できます。これは、MyInput が UITextField が持つすべてのプロパティと関数を自動的に取得することを意味します。現在、反応ネイティブでは、次のようにしています。

interface Props {
    title?: string;
    text: string;
    onChangeText?: (string) => void;
    keyboardType?: KeyboardTypeOptions;
    disabled?: boolean;
    onBlur?: () => void;
}

export default function MyInput ({
    title, text, onChangeText, keyboardType, disabled = false, onBlur= (()=> null)}: Props)
{

return(
    <Input
        label={title}
        onChangeText={(text) => onChangeText(text)}
        value={text}
        keyboardType={keyboardType}
        disabled={disabled}
        onBlur={() => onBlur()}
    />);

基本的に、必要なものは何でも Input から Props に追加してから、それを Input にリダイレクトする必要があります。ほとんどのコードを 2 倍にすることなく Input をアップグレードし、デフォルトですべての Input プロパティを MyInput で利用できるようにする方法はありますか?

そのため、onBlur などのメソッドを書き直す必要があります。

または、少なくとも誰かがそのような解決策を見つけるためにグーグルで何をすべきか教えてもらえますか?

4

1 に答える 1

1

私があなたを正しく理解していれば、これはあなたが探しているものです

export default function MyInput (props: Props) // get all the props
{

const myProps = { // change the key value pairs according to props that Input accepts
    ...props,
    label: props.text,
    value: props.text
}

return(
    <Input
        {...myProps}
    />);

そうでない場合はお知らせください。それに応じて変更します。

于 2020-07-06T13:34:27.080 に答える