最新的 react-redux 和 redux-form 导致严重的性能问题

升级到最新版本(截至今天):


react-redux: 5.0.7 --> 7.2.1

redux-form: 7.4.2 --> 8.3.6

这样做之后,在排序、在字段内键入等时会发现性能显着下降,最终会出现以下错误,导致应用程序崩溃:


错误:超出最大更新深度。当组件在 componentWillUpdate 或 componentDidUpdate 中重复调用 setState 时,就会发生这种情况。React 限制嵌套更新的数量以防止无限循环。


以上错误发生在<Form(Connect(WrapperComponent))>组件中:...


唯一要做的就是升级,代码保持不变。


这是 withForm HOC 和连接的片段(根据文档定义)


 const withForm = reduxForm({

   form: 'form-name',

   initialValues: {

     ...initVals

   },

   onSubmit,

   validate,

   shouldError: () => true

 });


 export default compose(

   connect,

   withForm,

   withStyles(styles)

 )(MyComponent);


 

有谁知道可能是什么问题?


凤凰求蛊
浏览 80回答 1
1回答

largeQ

出于某种原因升级到最新形式(参见问题)后,redux-form 对我如何显式重置表单属性不满意。const connectForm = reduxForm({&nbsp; form: 'form-name',&nbsp; validate: values => {&nbsp; &nbsp; const errors = {};&nbsp; &nbsp; if (values.middle) {&nbsp; &nbsp; &nbsp; values.first = '';&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; values.second = ''&nbsp; &nbsp; &nbsp; values.third = '';&nbsp; &nbsp; }&nbsp; },&nbsp; destroyOnUnmount: false,&nbsp; initialValues: {&nbsp; &nbsp; ...initValues&nbsp; }});因此产生了一个stackoverflow。使用重置内置功能来重置那些import {reset} from 'redux-form';...dispatch(reset('myForm'));&nbsp; // requires form name
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript