javascript - Redux 表单状态未定义
问题描述
我正在使用 react-redux 从另一个组件访问表单的状态。这就是我导出表单的方式:
import _ from 'lodash';
import { reduxForm, Field } from 'redux-form';
import formFields from './formFields';
import OrderField from './OrderField';
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
class OrderForm extends Component {
constructor(props) {
super(props);
this.renderFields = this.renderFields.bind(this);
}
renderFields() {
return _.map(formFields, ({ label, name }) => {
return (
<Field
key={name}
component={OrderField}
type="text"
label={label}
name={name}
/>
);
});
}
render() {
return (
<div>
<form onSubmit={this.props.handleSubmit(this.props.onOrderSubmit)}>
{this.renderFields()}
<button type="submit" className="waves-effect waves-light btn-large red darken-2 white-text">
Submit Order
<i className="material-icons right">done</i>
</button>
<p>Pay cash on delivery</p>
</form>
</div>
);
}
}
export default reduxForm({
form: 'orderForm'
})(OrderForm);
也是一个容器形式:
import OrderForm from './OrderForm';
import React, { Component } from 'react';
import { reduxForm } from 'redux-form';
class OrderNew extends Component {
constructor(props) {
super(props);
this.submitOrder = this.submitOrder.bind(this);
}
submitOrder(values) {
console.log("handle submit order");
}
render() {
return (
<OrderForm
onOrderSubmit={ this.submitOrder }/>
);
}
}
export default reduxForm({
form: 'orderForm'
})(OrderNew);
我正在尝试在另一个组件中访问 state.form.orderForm.values 属性:
function mapStateToProps(state) {
console.log(state);
return {
cart_items: state.order.cart_items,
products: state.order.products,
total: state.order.total,
formValues: state.form.orderForm.values
};
}
但我得到 state.form.orderForm.values 未定义的错误。我究竟做错了什么?
实际上,console.log(state.form)
在mapStateToProps
.
解决方案
推荐阅读
- git - Visual Studio Code 显示未修改的文件
- python - 使用 Pandas 优化重复选择
- path - Tree-Sitter.py 所有叶子到叶子的路径
- autocomplete - 无法删除原子中的风筝
- python - python tarfile addfile - 存档中的奇怪路径
- python - Python Plotly:Surface autocolorscale 属性为 True,但抛出 Value Error '必须指定为 bool'
- php - 期望“Symfony\Component\Security\Core\User\UserInterface”的实例作为第一个参数
- python - 按两个第一个字符过滤值数组
- windows-7 - Gnuplot 5.2 不加载脚本文件
- c# - C# 表单应用程序尝试更改在运行时创建的组件值