如何验证传递给Formik中的匿名组件的道具?

时间:2019-04-16 13:19:30

标签: reactjs eslint formik

  151:13  error    'values' is missing in props validation          react/prop-types
  152:13  error    'errors' is missing in props validation          react/prop-types
  153:13  error    'isSubmitting' is missing in props validation    react/prop-types
  154:13  error    'handleChange' is missing in props validation    react/prop-types
  155:13  error    'handleSubmit' is missing in props validation    react/prop-types
  156:13  error    'setFieldValue' is missing in props validation   react/prop-types

在我的.eslintrc文件中未验证props时,有一个配置来引发错误。但是,当我们使用Formik时,由于它使用render-props模式,因此它将我的组件作为子组件调用并将道具传递给它。我的问题是如何验证Formik传递给我的组件的道具?

delete()

1 个答案:

答案 0 :(得分:1)

文档具有误导性,我犯了同样的“错误”。从广义上来说,它不是道具,所以您的短毛绒感到困惑。您可以调用任何东西,它是传递给函数的对象。我可能只是解构您需要的变量。像这样:

    <Formik
      initialValues={{ specialist: '' }}
      onSubmit={(values, { setSubmitting }) => {
        alert(JSON.stringify(values));
        // setSubmitting(true);
      }}
      validationSchema={createAppointmentSchema}
    >
      {({ values, handleSubmit }) => {
        <Form onSubmit={handleSubmit}>
          <FormItem>
            <Span>Seleccione un Especialista</Span>
          </FormItem>
          ....
        </Form>;
      }}
    </Formik>