как отправить массив объектов в формук? - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь создать приложение для спортзала, где я могу представить несколько упражнений и назвать это «тренировкой».Я работал до определенного момента, но он падает, потому что мой объект назван, а не анонимно, что затрудняет масштабируемость

    <Formik
      initialValues={''}
      onSubmit={values => {this.props.submitExercise(values)}}
      render={() => (
        <Form>
          {this.state.exercises.map((exercise, index) => (
            <div>
              {console.log(exercise, 'ex')}
              <label htmlFor="exercise">Exercise</label>
              <Field name={`exercise${index}.name`} />

              <label htmlFor="reps">Reps</label>
              <Field name={`exercise${index}.reps`} type="number" />

              <label htmlFor="sets">Sets</label>
              <Field name={`exercise${index}.sets`} type="number" />

              <label htmlFor="weight">Weight</label>
              <Field name={`exercise${index}.weight`} type="number" />
            </div>
          ))}
          <button type="submit">Submit</button>
        </Form>
      )}
    />


export const submitExercise = workout => {
  console.log(workout) // workout here is coming through as {exercise0: {...}}
  return (dispatch, getState) => {
    dispatch({ type: 'SUBMIT_EXERCISE', workout })
    // dispatch(saveStateToServer(getState().workouts))
  }
}

Мне интересно, как лучше заполнить, скажем, X количествоупражнения.каждый с именем, повторениями, набором, весом и т. д. в качестве объекта, а затем они представляются в виде массива.в настоящее время это происходит с жестко закодированным именем объекта, как.

exercise0: {
  // exercise info
}

но это означает, что когда дело доходит до редукции, мне нужно получить данные через action.workout.exercise0, что не очень хорошо или масштабируемо

...