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)
| 归档时间: |
|
| 查看次数: |
930 次 |
| 最近记录: |