handleSubmit () функцию onSubmit или передать onSubmit в качестве реквизита - PullRequest
0 голосов
/ 12 января 2019
  • Я попытался включить в свой степпер избыточную форму.
  • , поэтому я следовал этому руководству и использовал асинхронную форму https://redux -form.com / 8.0.4 / docs / gettingstarted.md /
  • в их демоверсии работает нормально.
  • но когда я нажимаю кнопку регистрации, я сталкиваюсь с ошибкой handleSubmit () или функцией onSubmit или передачей onSubmit в качестве поддержки.
  • поэтому я отладил все файлы, поставив консоль.
  • когда я нажимаю "Отправить", ни одна из моих консолей не печатает.
  • будет ли проблема из-за handleSubmit.
  • Можете ли вы сказать мне, как это исправить, чтобы в будущем я исправил это сам.
  • предоставляя мою песочницу и фрагмент кода ниже. https://codesandbox.io/s/98qjwrrklr
const AsyncValidationForm = props => {
  console.log("AsyncValidationForm ---->");

  const { handleSubmit, pristine, reset, submitting } = props;
  return (
    <form onSubmit={handleSubmit}>
      <Field
        name="username"
        type="text"
        component={renderField}
        label="Username"
      />
      <Field
        name="password"
        type="password"
        component={renderField}
        label="Password"
      />
      <div>
        <button type="submit" disabled={submitting}>
          Sign Up
        </button>
        <button type="button" disabled={pristine || submitting} onClick={reset}>
          Clear Values
        </button>
      </div>
    </form>
  );
};

1 Ответ

0 голосов
/ 12 января 2019

1)

Вы должны передать параметр onSubmit компоненту, который имеет de reduxForm HOC:

  <AsyncValidationForm onSubmit={values => { console.log(values) }} />

2) Вы неправильно создаете магазин, потому что магазину нужно поле формы, как в примере:

import { reducer as reduxFormReducer } from 'redux-form';
const reducer = combineReducers({
  form: reduxFormReducer, // mounted under "form"
});

но вы определяете магазин следующим образом:

const reducer = () => ({});
const store = createStore(reducer);

Вы можете просто импортировать магазин из вашего файла store.js в index.js:

import store from './store';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...