Reactjs Can';t handlechange in Formik in Reach.Js
当Reactjs Can';t handlechange in Formik in Reach.Js,reactjs,formik,Reactjs,Formik,当isStudent为true时,我想将isStudent更改为true。我尝试使用handleChange和useEffect,但它不起作用。。。如何在React Hooks+Formik中使用handleChange useEffect((values, setFieldValue) => { console.log('values', values) // undefined if(values.isStudentTicket === true) {
isStudent
为true时,我想将isStudent
更改为true。我尝试使用handleChange和useEffect,但它不起作用。。。如何在React Hooks+Formik中使用handleChange
useEffect((values, setFieldValue) => {
console.log('values', values)
// undefined
if(values.isStudentTicket === true) {
setFieldValue('isStudent', true)
}
}, [])
return (
<Formik
enableReinitialize={enableReinitialize}
initialValues={initialValues}
validate={validate}
onSubmit={onSubmit}
>
{({
isSubmitting,
isValid,
setFieldValue,
values,
}) => {
return (
<Form>
<FastField
type="checkbox"
name="isStudent"
onChange={handleChange}
defaultChecked={values.isStudent}
/>
<FastField
type="checkbox"
name="isStudentTicket"
onChange={handleChange}
defaultChecked={values.isStudentTicket}
/>
useffect((值,setFieldValue)=>{
console.log('values',values)
//未定义
if(values.issudentticket==true){
setFieldValue('isStudent',true)
}
}, [])
返回(
{({
提交,
是有效的,
setFieldValue,
价值观
}) => {
返回(
您可以在onChange
函数本身中处理逻辑
<Form>
<FastField
type="checkbox"
name="isStudent"
onChange={handleChange}
defaultChecked={values.isStudent}
/>
<FastField
type="checkbox"
name="isStudentTicket"
onChange={(e) => {
handleChange(e);
if(e.target.checked === true)
setFieldValue('isStudent', true)
}}
defaultChecked={values.isStudentTicket}
/>
{
handleChange(e);
如果(e.target.checked==true)
setFieldValue('isStudent',true)
}}
defaultChecked={values.isStudentTicket}
/>
您可以在onChange
函数本身中处理逻辑
<Form>
<FastField
type="checkbox"
name="isStudent"
onChange={handleChange}
defaultChecked={values.isStudent}
/>
<FastField
type="checkbox"
name="isStudentTicket"
onChange={(e) => {
handleChange(e);
if(e.target.checked === true)
setFieldValue('isStudent', true)
}}
defaultChecked={values.isStudentTicket}
/>
{
handleChange(e);
如果(e.target.checked==true)
setFieldValue('isStudent',true)
}}
defaultChecked={values.isStudentTicket}
/>