gpt4 book ai didi

reactjs - Formik:如何从数组设置初始值?

转载 作者:行者123 更新时间:2023-12-04 17:32:52 28 4
gpt4 key购买 nike

我有客户对象,其中有一系列与之关联的信用卡,如下所示:

{
"_id":"5d63e3a32f093f2b5e41ef96",
"firstName": <firstName>,
"lastName": <lastName>,
"email": <email>,
"createdAt":"2019-08-26T13:50:27.409Z",
"modifiedAt":"2019-09-14T20:10:00.257Z",
"paymentMethods":[{
"name": <name>,
"last4": <last4>,
"expirationDate": <expDate>,
"isDefault":false,
"token": <token>
}, {
"name": <name>,
"last4": <last4>,
"expirationDate": <expDate>,
"isDefault":false,
"token": <token>
}, {
"name": <name>,
"last4": <last4>,
"expirationDate": <expDate>,
"isDefault":false,
"token": <token>
}
}

我想在 formik 中设置初始值。像这样:
const INITIAL_VALUES = {
firstName: customer.firstName,
lastName: customer.lastName,
email: customer.email,
phoneNumber: customer.phone,
paymentMethods: ???????
};

我希望能够编辑付款方式信息。我可以绘制表单,以便所有字段都出现正确的次数,但是如何使用 formik 设置初始值?

谢谢!

最佳答案

您正确指定了初始值:<Formik initialValues={INITIAL_VALUES} /> .然后当你在 <Formik /> 中渲染表单时,您可以访问和呈现 paymentMethods喜欢:

formikProps.values.paymentMethods.map((method, index) => (
<div key={index}>
<input
name={`paymentMethods.${index}.name`}
value={method.name}
onChange={formikProps.handleChange}
/>
{/* Render other fields for each paymentMethod*/}
</div>
))

您还可以使用 FieldArray 来呈现对象数组 ( https://jaredpalmer.com/formik/docs/api/fieldarray )

关于reactjs - Formik:如何从数组设置初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57940356/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com