Как редукционная форма передает реквизит из HOC во входной элемент - PullRequest
0 голосов
/ 30 мая 2018

Я использую native-base (библиотеку пользовательского интерфейса для реактивной-версии) с избыточной формой для управления состоянием формы с использованием избыточной формы.Я запутался со следующим фрагментом кода.В приведенном ниже коде он принимает номер аргумента и передает его в тег ввода с тройной точкой.но я не мог определить, что это такое и откуда он получает остальные свойства и как я могу применить пользовательские реквизиты.

renderInput({ input, label,  meta: { touched, error, warning } }){
    console.log(input)
    var hasError= false;
    if(error !== undefined){
      hasError= true;

    }
    return( 

      <Item error= {hasError}>
        <Input {...input} 
        />
        {hasError ? <Text>{error}</Text> : <Text />}
      </Item>
    )
  }

Ниже приведен метод рендеринга, который вызывает вышеуказанную функцию из компонента поля высшего порядкаполная форма

render(){
     const { handleSubmit, reset } = this.props;
     if (!this.state.isReady) {
      return <Expo.AppLoading />;
    }
    return (
      <Container>
        <Header>
          <Body>
            <Title>Redux Form</Title>
          </Body>
        </Header>
        <Content padder>
          <Field name="email" component={this.renderInput} model="sudhakar" type="text" placeholder="Username" />
          <Field name="name" component={this.renderInput} type="password" placeholder="Password" />
          <Input name="age" type="text" ref="_age" />
          <Button block primary onPress= {this.handleLogin}
            style={{marginHorizontal:10,backgroundColor:"#00adef", marginTop:50}}
          >
            <Text>Submit</Text>
          </Button>
        </Content>
      </Container>
    )
  }

Полный код можно найти здесь

1 Ответ

0 голосов
/ 30 мая 2018

Мне не разрешено оставлять комментарии, потому что моя репутация ниже 50.

Тройная точка называется оператор спреда , я думаю, что это ключ к пониманию того, что вызапутался.когда я впервые увидел этот синтаксис, у меня возникла такая же путаница.Попробуйте прочитать ссылку выше плюс это , и я думаю, что вы должны быть в состоянии выяснить вашу проблему:)

...