2017-01-16 67 views
4

我剛開始使用Redux以及任何我擔心的開發者性能Redux文檔指出,無論何時觸發動作,都會遍歷所有減速器以通過switch語句找到適當的動作函數。Redux的減速器遍歷如何有效?


現在,假設我們有很多操作的巨大應用。無論何時觸發其中的一個,所有減速器都將被遍歷。顯然幾乎所有的減速器都不需要這個動作,但是Redux將會遍歷它們,即使它們與被觸發的動作沒有任何共同之處。這怎麼能有效率?

+2

JavaScript引擎今天很快,一個簡單的switch語句不會很慢。 –

+2

Redux體系結構可能不是最具計算效率的解決方案,但它並不需要。函數執行和切換語句非常非常快 - 您可以在不顯着延遲的情況下執行數千次。 – jevakallio

+0

@ this.lau_感謝您的回答! –

回答

2

根據已經給出的評論:幾個函數調用和switch語句不可能是一個有意義的性能問題,尤其是考慮到應用程序內部正在進行的其他工作。

Redux FAQ專門解決了這個問題:http://redux.js.org/docs/faq/Performance.html#performance-all-reducers。它還討論Redux的整體性能和可伸縮性:http://redux.js.org/docs/faq/Performance.html#performance-scaling

除此之外,我只寫了一篇博客文章,討論將React和Redux一起使用時性能優化的幾個重要方面:Practical Redux Part 6: Connected Lists, Forms, and Performance