Redux 表单问题(调度不工作?)
Redux form problem (dispatch not working?)
更新:根据我给你的信息无法解决,问题是代码在 ComponentReceiveProps 挂钩中更新,原始值覆盖更改的值。
我参与的项目由外部机构开发,但效果不佳。
它是使用 React、Redux 和 Redux-Forms 的前端应用程序
有一种形式用于两个不同的页面。它在一页中运行良好,但在另一页中没有反应。我不能通过 UI 更改输入值,也不能通过 changeFieldValue
函数更改输入值。 Redux 状态没有改变。
在这两种情况下,使用相同的组件。它包含 reduxForm
功能。
const mapDispatchToProps = dispatch => ({
changeFieldValue: (field, value) => dispatch(change('ContractConsumption', field, value)),
});
class ContractConsumption extends React.Component {
// ...
}
ContractConsumption = reduxForm({
form: 'ContractConsumption',
enableReinitialize: true
})(ContractConsumption);
如有任何帮助,我们将不胜感激。我很困惑,为什么具有 redux 形式的相同组件在一种情况下可以工作,而在另一种情况下却不能。
整个代码过于复杂,耦合度很高,所以不能轻易分享,也不能逐个测试。
看起来 you/agency 没有将表格连接到商店:
import React, { Component } from 'react';
import { reduxForm } from 'redux-form';
import { connect } from 'react-redux';
class Example extends Component {
// ...
};
const mapStateToProps = (state) => ({
// ...
});
const mapDispatchToProps = (dispatch) => ({
// ...
});
Example = connect(
mapStateToProps,
mapDispatchToProps
)(Example);
export default reduxForm({
form: 'example' // a unique name for this form
})(Example);
更新:根据我给你的信息无法解决,问题是代码在 ComponentReceiveProps 挂钩中更新,原始值覆盖更改的值。
我参与的项目由外部机构开发,但效果不佳。
它是使用 React、Redux 和 Redux-Forms 的前端应用程序
有一种形式用于两个不同的页面。它在一页中运行良好,但在另一页中没有反应。我不能通过 UI 更改输入值,也不能通过 changeFieldValue
函数更改输入值。 Redux 状态没有改变。
在这两种情况下,使用相同的组件。它包含 reduxForm
功能。
const mapDispatchToProps = dispatch => ({
changeFieldValue: (field, value) => dispatch(change('ContractConsumption', field, value)),
});
class ContractConsumption extends React.Component {
// ...
}
ContractConsumption = reduxForm({
form: 'ContractConsumption',
enableReinitialize: true
})(ContractConsumption);
如有任何帮助,我们将不胜感激。我很困惑,为什么具有 redux 形式的相同组件在一种情况下可以工作,而在另一种情况下却不能。
整个代码过于复杂,耦合度很高,所以不能轻易分享,也不能逐个测试。
看起来 you/agency 没有将表格连接到商店:
import React, { Component } from 'react';
import { reduxForm } from 'redux-form';
import { connect } from 'react-redux';
class Example extends Component {
// ...
};
const mapStateToProps = (state) => ({
// ...
});
const mapDispatchToProps = (dispatch) => ({
// ...
});
Example = connect(
mapStateToProps,
mapDispatchToProps
)(Example);
export default reduxForm({
form: 'example' // a unique name for this form
})(Example);