Or, if you're using an old version, read the v0.14.x documentation
React Redux Form is a collection of reducer creators and action creators that make implementing even the most complex and custom forms with React and Redux simple and performant.
npm install react-redux-form@latest --save
# Dependencies (you probably already have these)
npm install react react-dom redux react-redux redux-thunk --save
# version 1.0.x
npm install react-redux-form@latest --save
Be sure to read the step-by-step quick start guide in the documentation.
import React from 'react';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import { combineForms } from 'react-redux-form';
import MyForm from './components/my-form-component';
const initialUser = { name: '' };
const store = createStore(combineForms({
user: initialUser,
}));
class App extends React.Component {
render() {
return (
<Provider store={ store }>
<MyForm />
</Provider>
);
}
}
// ./components/my-form-component.js'
import React from 'react';
import { connect } from 'react-redux';
import { Control, Form } from 'react-redux-form';
class MyForm extends React.Component {
handleSubmit(val) {
// Do anything you want with the form value
console.log(val);
}
render() {
return (
<Form model="user" onSubmit={(val) => this.handleSubmit(val)}>
<label>Your name?</label>
<Control.text model="user.name" />
<button>Submit!</button>
</Form>
);
}
}
// No need to connect()!
export default MyForm;
When posting an issue, please include a detailed description along with a relevant code sample. Attaching a failing test case with your issue will go a long way and is much appreciated.
Feel free to fork this esnextb.in gist for quickly creating reproducible examples!