我剛開始使用Redux以及任何我擔心的開發者性能。 Redux文檔指出,無論何時觸發動作,都會遍歷所有減速器以通過switch語句找到適當的動作函數。Redux的減速器遍歷如何有效?
現在,假設我們有很多操作的巨大應用。無論何時觸發其中的一個,所有減速器都將被遍歷。顯然幾乎所有的減速器都不需要這個動作,但是Redux將會遍歷它們,即使它們與被觸發的動作沒有任何共同之處。這怎麼能有效率?
我剛開始使用Redux以及任何我擔心的開發者性能。 Redux文檔指出,無論何時觸發動作,都會遍歷所有減速器以通過switch語句找到適當的動作函數。Redux的減速器遍歷如何有效?
現在,假設我們有很多操作的巨大應用。無論何時觸發其中的一個,所有減速器都將被遍歷。顯然幾乎所有的減速器都不需要這個動作,但是Redux將會遍歷它們,即使它們與被觸發的動作沒有任何共同之處。這怎麼能有效率?
根據已經給出的評論:幾個函數調用和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。
JavaScript引擎今天很快,一個簡單的switch語句不會很慢。 –
Redux體系結構可能不是最具計算效率的解決方案,但它並不需要。函數執行和切換語句非常非常快 - 您可以在不顯着延遲的情況下執行數千次。 – jevakallio
@ this.lau_感謝您的回答! –