Reactjs 尝试使用redux表单更新字段

Reactjs 尝试使用redux表单更新字段,reactjs,redux,redux-form,Reactjs,Redux,Redux Form,我有以下字段 import React, { Component } from 'react' import { Field } from 'redux-form' import RDateRangePicker from '../../../../components/RDateRangePicker/RDateRangePicker' export default class DateRange extends Component { constructor (props) {

我有以下字段

import React, { Component } from 'react'
import { Field } from 'redux-form'

import RDateRangePicker from '../../../../components/RDateRangePicker/RDateRangePicker'

export default class DateRange extends Component {
  constructor (props) {
    super(props)
    this.state = { dateRangeEmpty: true }

    this.handleChange = this.handleChange.bind(this)
  }

  handleChange (event) {
    this.setState({ dateRangeEmpty: true })
  }

  render () {
    let cssClassName = this.state.dateRangeEmpty
      ? 'form-group has-feedback has-error' : 'form-group has-feedback has-error'
    return (
      <div className={cssClassName}>
        <div className="col-sm-12">Date range:</div>
        <div className="col-sm-12">
          <Field name="dateRange"
            component={RDateRangePicker}
            className="form-control"
            onChange={this.handleChange}
          />
        </div>
      </div>
    )
  }
}

您正在以不相关的方式使用字段,请参见

您不能按原样在redux表单上使用自定义组件作为字段。你需要创造。在您的情况下,它看起来像这样:

const ReduxFormDateRangePicker = (props) => (
        <RDateRangePicker
            ranges={props.input.value}
            onApply={value => props.input.onChange(value)}
        />
    );
const ReduxFormDateRangePicker=(道具)=>(
props.input.onChange(值)}
/>
);
此外,在定义的字段上不需要onChange参数:

      <Field name="dateRange"
        component={RDateRangePicker}
        className="form-control"
      />


根据shixukai的回答,onInputChange不是字段的有效道具。您可能需要在RDateRangePicker周围有一个包装器类。并在该包装类中将onInputChange设置为RDateRangePicker。尝试将onInputChange改为onChange。完成,但我不工作。请发布RDateRangePicker@luboskrnac完成!
      <Field name="dateRange"
        component={RDateRangePicker}
        className="form-control"
      />