在 redux 选择器中使用 web worker

Using web worker inside redux selector

我有一个包含一些数据的状态,我目前使用重新选择库在选择器中同步计算这些数据。

由于这是一项繁重的计算,所以我考虑在 web worker 中进行。 问题是选择器将 return 一个异步结果

你知道怎么处理吗?

最好的解决方案是,一旦工作人员完成工作,以某种方式 return 组件的值并将结果缓存在选择器中。 但是我很困惑如何使用 mapStateToProps 异步调用组件(不修改 store 中的全局状态)

有什么想法吗? 谢谢,

一个不错的方法可能是在异步操作中进行计算并将计算结果存储在状态中。

这样您就不会阻塞主线程,您可以使用结果的占位符继续呈现应用程序,并在计算完成后插入结果。

这种方法在某些方面可以与您触发 API 调用的方法相媲美,这确实与 React 的观点和您想要实现的目标没有太大区别。