首页 > 解决方案 > formik 渲染道具已被弃用,并将在未来版本中弃用

问题描述

我刚开始使用 formik,我正在使用旧代码库来编写一些代码。使用此代码,我收到此错误:

            <Formik
              enableReinitialize={true}
              initialValues={InitialValues}
              onSubmit={(formData, formikProps) => this.handleSubmit(formData, formikProps)}
              render={formikProps => (
                  <View>
                      <FieldArray
                    name="address"
                    render={arrHelpers => (
                      <View>
                         
                        {formikProps.values.address &&
                          formikProps.values.address.length > 0 &&
                          formikProps.values.address.map((item, index) =>
                            this.renderForm(item, index, arrHelpers, formikProps)
                          )}
                      </View>
                    )}
                  />
                  <TouchableOpacity  onPress={formikProps.handleSubmit} style ={styles.buttonDown}>
                   <Text style={styles.submitButton}>Submit</Text>
                 </TouchableOpacity>
                  </View>
              )}
            />

标签: reactjsformik

解决方案


看看这个:https ://formik.org/docs/migrating-v2#all-render-props-have-been-deprecated-with-a-console-warning

您可以将渲染函数作为子函数传递,而不是使用渲染道具(如上面的链接所示):

- <Field name="firstName" render={props => ....} />
+ <Field name="firstName">{props => ... }</Field>

推荐阅读