2016-10-05 6 views
1

私の容器でgetFormValuesを使用して小道具に書式値を追加しようとしています。しかし、派生コンポーネントのvaluesプロパティを調べると、私は定義されていません。何が欠けていますか?redux-form [v 6.0.5] getFormValuesを使用しても小道具に値が追加されない

コンテナコード:プロパティコンポーネントで

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)); 

this.props.valuesを呼び出すことは未定義を返します。

何が問題なのですか? ありがとう、

答えて

4

小文字の«値»はレフィックス形式の予約キーです。 «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 (
    ); 
    } 
} 
+0

実際には、ソリューションは機能しました。どうもありがとうございました。 – Ido

+0

これは私を助けてくれました。私はこれをデバッグするのに多くの時間を費やしました。ありがとう! – inostia

+0

これは私が見たgetFormValuesを使った最初の便利な例です。ありがとう! – softweave

関連する問題