Я использую Redux Form (версия 6) для страницы входа в систему. Что я хотел бы сделать, так это когда пользователь заполняет форму и нажимает кнопку «Отправить», захватить текст из моего состояния, чтобы я мог в конечном итоге отправить действие с этим адресом электронной почты и паролем. Однако у меня возникли проблемы с экспортом этого компонента при использовании подключения как из реакции-redux, так и из Redux Form.
Используя response-redux, connect хочет, чтобы его экспортировали, как это при сопоставлении состояния с реквизитами:
экспортировать соединение по умолчанию (mapStateToProps) (LogInForm)
Однако Redux Form хочет, чтобы экспорт был настроен следующим образом:
export default reduxForm({
form: 'LogInForm',
validate,
})(LogInForm);
Есть ли способ совместить эти два? Я пробовал что-то вроде:
const reduxFormConfig = reduxForm({
form: 'LogInForm',
validate,
});
export default connect(mapStateToProps)(ReduxFormConfig)(LogInForm)
но это не сработало.
Или, может быть, это лучший подход к решению этой проблемы? Вот полный код моего компонента:
import React from 'react';
import { connect } from 'react-redux';
import { Field, reduxForm } from 'redux-form';
import InputField from '../InputField';
import { validateLogInSignUp as validate } from '../../utils/validateForms.js';
const LogInForm = (props) => {
const {
handleSubmit,
pristine,
submitting,
} = props;
return (
<div>
<form onSubmit={handleSubmit}>
<Field
name="email"
type="email"
component={InputField}
label="email"
/>
<Field
name="password"
type="password"
component={InputField}
label="password"
/>
<div>
<button type="submit" disabled={submitting}>Submit</button>
</div>
</form>
</div>
);
};
const mapStateToProps = state => {
return {
loginInput: state.form,
};
};
// export default connect(mapStateToProps)(LogInForm)
// export default reduxForm({
// form: 'LogInForm',
// validate,
// })(LogInForm);
Любая помощь очень ценится. Спасибо!