в отдельную функцию makeFormdata -так код не работает , однако, если без этой функции (комментируем то что выделено жирным и раскоментируем то что под ним )-то работает , в чем может быть дело ? по идее же одно и тоже происходит . В дебаггере , даже не заходит внутрь функции makeFormdata , когда дохожу до этой функции и жму след шаг или шаг внутрь функции  сразу выдается ошибка:  if (isActuallyValid) {
                  
                  
                          // Proceed with submit...
                  
                  
                          //
                  
                  
                          // To respect sync submit fns, we can't simply wrap executeSubmit in a promise and
                  
                  
                          // _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false.
                  
                  
                          // This would be fine in simple cases, but make it impossible to disable submit
                  
                  
                          // buttons where people use callbacks or promises as side effects (which is basically
                  
                  
                          // all of v1 Formik code). Instead, recall that we are inside of a promise chain already,
                  
                  
                          //  so we can try/catch executeSubmit(), if it returns undefined, then just bail.
                  
                  
                          // If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle
                  
                  
                          // cleanup of isSubmitting on behalf of the consumer.
                  
                  
                          var promiseOrUndefined;
                  
                  
                  
                  
                  
                          try {
                  
                  
                            promiseOrUndefined = executeSubmit(); // Bail if it's sync, consumer is responsible for cleaning up
                  
                  
                            // via setSubmitting(false)
                  
                  
                  
                  
                  
                            if (promiseOrUndefined === undefined) {
                  
                  
                              return;
                  
                  
                            }
                  
                  
                          } catch (error) {
                  
                  
                            throw error;
                  
                  
                          }
                  
                  
                  основной код:
                  
                  
                  const makeFormdata = (volunteer, phone, statusid = volunteer.status.id, comment = volunteer.comment) => {
                  
                  
                          var data = new FormData();
                  
                  
                          data.append('firstname', volunteer.firstname)
                  
                  
                          data.append('lastname', volunteer.lastname)
                  
                  
                          data.append('patronymic', volunteer.patronymic)
                  
                  
                          data.append('phone', parseInt(phone))
                  
                  
                          data.append('password', volunteer.password)
                  
                  
                          data.append('date_of_birth', volunteer.date_of_birth)
                  
                  
                          data.append('address', volunteer.address)
                  
                  
                          data.append('status_id', statusid)
                  
                  
                          data.append('comment', comment)
                  
                  
                          return data
                  
                  
                      }
                  
                  
                      var content = { 'Content-Type': 'multipart/form-data' }
                  
                  
                      const getPhone = (values, initphone) => {
                  
                  
                          let finphone;
                  
                  
                          var ph = values.phone.replace(/[- )(+]/g, '');
                  
                  
                          if (initphone !== ph) {
                  
                  
                              finphone = ph
                  
                  
                          } else {
                  
                  
                              finphone = `7${initphone}`
                  
                  
                          }
                  
                  
                          return finphone
                  
                  
                      }
                  
                  
                      const submitForm = (values, initphone) => {
                  
                  
                          if (values.password && values.confPassword && values.password !== values.confPassword) {
                  
                  
                              return;
                  
                  
                          }
                  
                  
                          delete values.confPassword
                  
                  
                  
                  
                  
                          if (values.phone.includes("_")) {
                  
                  
                              seterror(true)
                  
                  
                              values.password = ""
                  
                  
                              values.confPassword = ""
                  
                  
                              return;
                  
                  
                          }
                  
                  
                          let finphone = getPhone(values, initphone)
                  
                  
                          const data = makeFormdata(values, finphone);
                  
                  
                          /*    var data = new FormData();
                  
                  
                        /*    data.append('firstname', values.firstname)
                  
                  
                              data.append('lastname', values.lastname)
                  
                  
                              data.append('patronymic', values.patronymic)
                  
                  
                              data.append('phone', parseInt(finphone))
                  
                  
                              data.append('password', values.password)
                  
                  
                              data.append('date_of_birth', values.date_of_birth)
                  
                  
                              data.append('address', values.address)
                  
                  
                              if (urlPath.includes("req")){
                  
                  
                                  data.append('status_id', values.status.id)
                  
                  
                                  data.append('comment', values.comment)
                  
                  
                              }*/
                  
                  
                          values.password = ""
                  
                  
                          values.confPassword = ""
                  
                  
                          save(data, "volunteers", content, !urlPath.includes("newvolunteer"), id ? id : null)
                  
                  
                      }
                  
                  
                
пожалуйста, пользуйся сервисами для шаринга кода. это нечитабельнаая портянка. paste.bin, codesandbox.io etc
Обсуждают сегодня