首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apollo的Redux-Form

使用Apollo的Redux-Form
EN

Stack Overflow用户
提问于 2017-11-03 06:50:07
回答 1查看 536关注 0票数 1

我正在尝试寻找用于Apollo的Redux-Form示例,但什么也找不到。我有一个现有的Redux-Form组件,我想使用我的GraphQL变异触发提交。那会是什么样子?

EN

回答 1

Stack Overflow用户

发布于 2018-01-30 18:20:22

我不确定你是否还需要它,但这里有一个可能的解决方案。也许不是最好的组件组合,但这个简单的示例应该会帮助您或其他人使用redux-form和apollo创建自己的表单。

在最简单的情况下,我们可以在一个组件中拥有所有组件。下面是一些代码:

代码语言:javascript
复制
import React from 'react'
import { graphql, compose } from 'react-apollo' 
import { Field, reduxForm } from 'redux-form'
import { submitForm } from './somewhere' //you can also define mutation in this file

class ApolloForm extends React.Component {
  submitForm = (data) => {
    return this.props.submitForm({
      variables: {firstName: data.firstName, lastName: data.lastName}
    })
  }

  render() {
    const { handleSubmit, submitting, submitSucceeded } = this.props
    return (
      <form onSubmit={handleSubmit(this.submitForm)}>
        <Field
          name="firstName"
          component="input"
          type="text"
        />
        <Field
          name="lastName"
          component="input"
          type="text"
        />
        <button type="submit" disabled={submitting}>Submit</button>
        { submitSucceeded && <p>Sent!!!</p> }
      </form>
    )
  }
}

const ApolloForm = compose(
  graphql(submitForm, {name: 'submitForm'},
  reduxForm({form: 'ApolloForm'})
)(ApolloForm)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47085836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档