Warning. This project is still WIP. Feedback is welcome.
ReduxForm powered by Apollo and GraphQL
- Build forms from GraphQL mutations
- Init forms from GraphQL queries
- Store form state in Redux with ReduxForm
- Submit forms via Apollo
npm install @fundflow/apollo-redux-form
Forms are built from mutation arguments, automagically.
const query = gql`
mutation createPost($title: String!, $isDraft: Boolean, $views: Int, $average: Float) {
createPost(title: $title, isDraft: $isDraft, views: $views, average: $average) {
id
createdAt
}
}`;
const CreatePostForm = apolloForm(query);
// CreatePostForm is a React component implementing a form with input fields corresponding to the mutation arguments
When submit button is clicked, the GraphQL mutation is executed.
It is possible to pre-fill a form with the results of a GraphQL query.
const query = gql`
query getPost($id: ID) {
getPost(id: $id) {
id title isDraft views average createdAt
}
}`;
const withInit = initForm(query, { variables: { id: '123' } });
const PrefilledUpdatePostForm = withInit(apolloForm( /* ... */));
Some user stories powered by React Storybook.
$ npm install
$ npm run compile
$ npm run storybook
// point your browser to http://localhost:6006/