Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
283 views
in Technique[技术] by (71.8m points)

redux的dispatch比起setState延迟高很多?

在redux中使用无状态组件并使用dispatch来修改状态时发现会产生较大延迟(大概有0.5s左右),UI操作顿挫感很强,非常影响使用体验。
而是使用有状态组件内state,通过setState来修改状态则会好的多,没有明显延迟,但是又不好状态检查。
请问dispatch这种延迟为什么会出现,应该如何减轻这种现象?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

mapStateToProps到页面的数据量是不是太大了?一般Redux会做多个shallow equal,如果数据量过大,可能会造成这个问题。

或者如果你自定义了equal方法,检查一下你connect的几个equal,里面是不是有deep equal这种很浪费性能的方法。

我从来没有碰到过有明显卡顿的情况,具体还要具体分析。而且其实并不是所有的状态都要redux来管理的,一些state反而是放在组件内部管理更好。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...