如何解决最新的react-redux和redux-form导致严重的性能问题
已升级到最新版本(截至今天):
react-redux: 5.0.7 --> 7.2.1
redux-form: 7.4.2 --> 8.3.6
这样做之后,在排序,在字段中键入内容等时,会发现性能显着下降,最终出现以下错误,这会破坏应用程序:
错误:超出最大更新深度。当一个组件发生这种情况 重复调用componentwillUpdate内的setState或 componentDidUpdate。 React将嵌套更新的数量限制为 防止无限循环。
上述错误发生在
这是withForm HOC的代码段并进行连接(根据文档定义)
const withForm = reduxForm({
form: 'form-name',initialValues: {
...initVals
},onSubmit,validate,shouldError: () => true
});
export default compose(
connect,withForm,withStyles(styles)
)(MyComponent);
有人知道这可能是什么问题吗?
解决方法
出于某种原因升级到最新表单(请参阅问题)后,redux-form对我如何显式重置表单属性不满意。
const connectForm = reduxForm({
form: 'form-name',validate: values => {
const errors = {};
if (values.middle) {
values.first = '';
} else {
values.second = ''
values.third = '';
}
},destroyOnUnmount: false,initialValues: {
...initValues
}
});
因此产生了堆栈溢出。
使用内置的重置功能重置那些
import {reset} from 'redux-form';
...
dispatch(reset('myForm')); // requires form name
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。