使用redux-form [v 6.0.5] getFormValues不会向props添加值

Ido*_*Ido 1 reactjs redux redux-form react-redux

我正在尝试使用容器中的getFormValues将表单值添加到道具中.但是,当我在派生组件中查找values属性时,我得到一个未定义的.我错过了什么?

容器代码:

import {reduxForm, getFormValues} from 'redux-form';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import * as actions from '../actions/propertiesActions';
import Properties from '../components/common/Properties';

const mapStateToProps = (state, ownProps) => {
    return {
        form: ownProps.id,
        values: getFormValues(ownProps.id)(state)
    };
};

const mapDispatchToProps = (dispatch) => {
  return {
    actions: bindActionCreators(actions, dispatch)
  };
}

export default connect(mapStateToProps, mapDispatchToProps)(reduxForm()(Properties));
Run Code Online (Sandbox Code Playgroud)

在Properties组件中,调用this.props.values将返回undefined.

可能是什么问题?谢谢,

小智 5

prop«values»是redux形式的保留键.你需要尝试使用另一个键,比如«formValues».

@connect(
  (state) => ({
    formValues: getFormValues('form-name')(state) || {},
  }),
  {}
)
@reduxForm({
  form: 'form-name'
})

export default class Form extends Component {
  static propTypes = {
    ...
    formValues: PropTypes.object.isRequired,
    ...
  }

  render() {
    return (
    );
  }
}
Run Code Online (Sandbox Code Playgroud)