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

时间:2016-10-05 15:24:53

标签: reactjs redux react-redux redux-form

我试图在我的容器中使用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));

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

可能是什么问题? 谢谢,

1 个答案:

答案 0 :(得分: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 (
    );
  }
}
相关问题