ReactJS:如何在不使用redux-form的情况下将表单值作为JSON对象提交。

时间:2017-04-05 13:12:03

标签: reactjs redux react-redux redux-form

我正在使用redux-form将表单值作为JSON对象提交给POST服务。但redux-form字段(<Field />)不支持onChangeonBlur等事件。所以我想使用像<select><option></select><input type="text" />这样的默认组件,但是如果我使用普通的html组件,像onChange这样的事件就可以了。但是在这里,我无法在没有redux-form的情况下将表单值作为对象提交。请指导......

谢谢, Shash

1 个答案:

答案 0 :(得分:0)

redux-form支持传递给<Field />的自定义组件。

其中一种方式(取自文档)

  
      
  1. 组件
  2.         

    这可以是您编写或已导入的任何组件类   来自第三方图书馆。

         

    // MyCustomInput.js

    import React, { Component } from 'react'
    
    class MyCustomInput extends Component {
      render() {
        const { value, onChange } = this.props
        return (
          <div>
            <span>The current value is {value}.</span>
            <button type="button" onClick={() => onChange(value + 1)}>Inc</button>
            <button type="button" onClick={() => onChange(value - 1)}>Dec</button>
          </div>
        )
      }
    }
    Then, somewhere in your form...    
    import MyCustomInput from './MyCustomInput'
    
    <Field component={MyCustomInput}/>
    

您可以更轻松地让redux-form提交您的值,因为您已经在使用它。

Docs on Field