React-Redux Form-映射值属性后无法键入

时间:2019-03-25 09:16:37

标签: reactjs redux react-redux

我正在使用redux-form,文本框的值在键入时没有更新,即我无法在输入框中键入。

注意:Redux-dev工具正在记录键入按钮上的事件,但文本框内容未更新

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

class ExamSettingForm extends React.Component {

  renderInput = ({input}) => {
    console.log(input);
    return (
      <input
        type="text"
        onChange = {input.onChange}
        value = {input.value}/>
    );
  }

  render() {
    return(
      <form>
        <Field
          name="description"
          component={this.renderInput}
        />
      </form>
    );
  }
}

export default reduxForm({
  form: 'editExamSetForm'
})(ExamSettingForm);

使用“ ”属性更新输入后,我将无法在输入框中输入任何内容。我已经尝试过语法

<input {...input}/>

1 个答案:

答案 0 :(得分:0)

我看到您正在使用input方法从props破坏renderInput。当您使用<input {...input}/>时,那里的input是什么?它应该是整个props对象:

class ExamSettingForm extends React.Component {
  renderInput = (props) => {
    return (
      <input {...props} />
    );
  }

  render() {
    return(
      <form>
        <Field
          name="description"
          component={this.renderInput}
        />
      </form>
    );
  }
}