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}
/>