首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在父组件中访问子组件的formik值?

如何在父组件中访问子组件的formik值?
EN

Stack Overflow用户
提问于 2022-11-05 02:33:43
回答 1查看 71关注 0票数 1

我在子组件中有一个表单。提交后,我需要访问父组件中的表单字段值之一。我根本搞不懂。我不能使用useFormik,因为我有<Formik />组件。我参考了很多,但我想不出答案。

代码语言:javascript
复制
Parent component:

    import ChildForm from "./ChildForm";
    import "./styles.css";
    export default function App() {
      return (
        <div className="App">
             <ChildForm />
             Email Address: {/* firstName; child form's firstName value  */}
        </div> );
     }

Child component:

    const ChildComponent = () => {
      return (
        <Formik
          initialValues={{
            firstName: "",
            lastName: "",
            email: "",
          }}
          onSubmit={async (values) => {
            await new Promise((r) => setTimeout(r, 500));
            alert(JSON.stringify(values, null, 2));
          }}
        >
          <Form>
            <label htmlFor="firstName">First Name</label>
            <Field id="firstName" name="firstName" placeholder="Jane" />

            <label htmlFor="lastName">Last Name</label>
            <Field id="lastName" name="lastName" placeholder="Doe" />

            <label htmlFor="email">Email</label>
            <Field
              id="email"
              name="email"
              placeholder="jane@acme.com"
              type="email"
            />
            <button type="submit">Submit</button>
          </Form>
        </Formik>
      );
    };

A quick CodeSandBox to quick preview: https://codesandbox.io/s/romantic-nightingale-956xxv?file=/src/App.js:0-271
EN

回答 1

Stack Overflow用户

发布于 2022-11-05 03:03:04

您可以这样做,只需将函数从父函数传递到子函数,并接受窗体值作为参数。

https://codesandbox.io/s/friendly-pascal-db2rbu?file=/src/App.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74324671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档