@RokeAlvo

Как получить значения input при обработке onSubmit в React-redux?

Вопрос по обработке события onSubmit в приложении redux:
пытаюсь использовать @material-ui/core. В форме при событии onSubmit вызывается Action, но не пойму как передать в Action значение полей формы. Т.е. я могу повесить на каждое поле Action на событие onChangeи записывать в store значение поля, но тогда в store будет записываться каждый символ, что ни к чему. При вызове Actionему передается SyntheticEvent у которого есть свойство target, но там список дом узлов, как по ним получить значения импутов?

сама форма:
import {
  Button,
  TextField,
  Card,
  CircularProgress,
} from '@material-ui/core'

....
          <form className="login-form" onSubmit={handleLogin}>
            <TextField
              id="login-form__text-input"
              label="Name"
              className="login-form__text-input"
              // value={username}
              // onChange={handleChange}
              margin="normal"
              variant="outlined"
              required
            />

.....

const mapDispatchToProps = dispatch => {
  return {
    handleLogin: (e) =>
      dispatch(handleLogin(e)),
    handleChange: () => dispatch(handleChange())
  }
}

export default withRouter(
  connect(
    mapStateToProps,
    mapDispatchToProps
  )(LoginFormContainer)
)
  • Вопрос задан
  • 365 просмотров
Решения вопроса 1
@kacheleff
fullstack developer
Пройдитесь циклом по нодам и соберите все данные, которые вам нужны.
OnSumbit срабывает на форме, соответственно, в детях у формы есть все инпуты со значениями.
А вообще, можете воспользоваться уже готовыми библиотеками:
https://github.com/jaredpalmer/formik
https://github.com/final-form/react-final-form
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы