javascript 什么是React模式,其中children prop接受一个函数?

jaql4c8m  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(193)

我试图找到React模式的名称,其中组件的children prop接受函数,允许组件将数据传递给任意子组件。
下面是Formik文档中的一个例子:

<Formik>
  {({ handleSubmit, handleChange, handleBlur, values, errors }) => (
    <form onSubmit={handleSubmit}>
      <input
        type="text"
        onChange={handleChange}
        onBlur={handleBlur}
        value={values.name}
        name="name"
      />
      {errors.name &&
        <div>
          {errors.name}
        </div>}
      <button type="submit">Submit</button>
    </form>
  )}
</Formik>

我试着搜索这种模式的描述,但没有找到任何东西。
这种模式有名字吗?它有什么好的用途吗?这是反模式吗?

hyrbngr7

hyrbngr71#

这个问题的答案直接在Formik的文档中(https://formik.org/docs/api/formik#formik-render-methods-and-props)
是帮助您构建表单的组件。它使用了一种渲染 prop 模式,这种模式在React Motion和React Router等库中非常流行。
您可以在这里找到更多信息:https://www.patterns.dev/posts/render-props-pattern(查找“Children as a function”)

相关问题