React-native中asyncStorage的Formik提交问题

时间:2019-07-29 16:11:01

标签: javascript android ios react-native formik

我有两个用于formik登录的输入组件:

 <View>
      <TextField
        style={{color: 'white'}}
        label={label}
        tintColor={formikProps.touched[formikKey] && formikProps.errors[formikKey] ? 'red' : 'white'}
        onChangeText={e => formikProps.setFieldValue(formikKey, e)}
        onBlur={formikProps.handleBlur(formikKey)}
        {...rest}
      />
      <Text style={{color: 'red'}}>
        {formikProps.touched[formikKey] && formikProps.errors[formikKey]}
      </Text>
    </View> . 

然后我有一个使用formik登录的表单:

{formikProps => (
          <View style={styles.container}>
            <HeaderWithLogo source={Logo.docaBlack} style={styles.header} />
            <View style={styles.subContainer}>
              <Animatable.View animation="slideInRight">
                <InputWithMessage
                  label="Email"
                  formikProps={formikProps}
                  formikKey="email"
                  value={formikProps.values.email || email}
                  placeholder="dukekaboum@example.com"
                  autoFocus
                />
              </Animatable.View>
              <Animatable.View animation="slideInRight" delay={800}>
                <InputWithMessage
                  label="Mot de passe"
                  formikProps={formikProps}
                  value={formikProps.values.password || password}
                  formikKey="password"
                  placeholder="mot de passe"
                  secureTextEntry
                />

成功登录后,我使用asyncStorage来存储电子邮件和密码。 当我重新加载我的loginScreen时,当我想重新登录时,我的邮件输入和密码输入的值将设置为我的存储BUT的值,yup和formik对我说没有邮件值,没有通过值.... < / p>

Haw可以很好地使用asyncStorage和formik?

1 个答案:

答案 0 :(得分:0)

好,在 intialValues

之前使用 enableReinitialize 解决