我正在参加“初夏创意贡献竞赛”以获取细节。请参阅:初夏创意贡献竞赛
在这样的场景中,当加载网页时,它突然变得无法言喻,直到所有资源在响应之前都充满加载之前。或拖动元素。这次您可能会想到使用网络工人来帮助我们解决此问题。在本文中,我们将学习如何在React应用程序中使用Web Worker。UseworkerizedRedreducer。
Web Worker是一个JavaScript脚本,在后台运行而不会干扰其他脚本的执行。
由于JavaScript是单个线程语言,因此它不能同时运行多个脚本,这是运行大型计算脚本的问题。WebWorker帮助在背景中加载大量计算脚本而不会影响页面的性能。
语法
构造函数接受两个参数;第一个是,第二个类型可以是或。如果没有指定的类型,则默认类型为。
在本文中,我们将使用该类型,因为它们只能在组件中使用。要在Web Worker组件中使用功能,我们必须添加到构造函数中。
UserEducer是一个React Hook,用于存储和更新状态。它接受三个参数:作为最后一个参数,它是可选的:
返回包含当前值的数组和您可以为执行功能提供操作的函数。
该函数接受指定要执行的操作类型的对象。它基本上传递给该函数,并使用还原器函数来更新。
还原器是一个当前接受两个参数和对象的函数。IT使用接收来确定更改并返回新的。
以下代码演示了如何使用还原器函数更改:
每当触发函数时,它都会返回新的作为函数内部的更改。
它是一种对象类型,指示如何更改它。它必须具有属性。它可以在条件句子中使用以确定如何更改。
为了允许函数在Web Worker中运行,我们必须使用它。
与之相似,除了允许还原器执行工人外,我们还允许我们创建动态的React应用程序。
允许在还原器中进行长时间计算,而不会影响应用程序响应。RuseWorkerizedRedreducer负责提供工人的功能。
通过复制到主线程,UseWorkerizedRedreducer在工作线程和主线程之间提高了一个桥梁。REDUCER操作工人的状态对象,以保持复制主线程的当前状态。
为了学习如何将reducer放置在Web Worker中,让我们创建一个简单的计数器程序,该程序将在当前状态更改时返回。
首先,打开命令行并输入以下命令:
成功安装应用程序后,我们需要将UseWorkerizedRedreducer用作程序的因项目。安装,在终端中执行以下命令:
现在,我们已经成功安装了它,让我们创建一个文件。
因为我们在worker.js文件中使用了reducer,所以我们将在src文件夹中创建一个worker.js文件:单击“创建新文件”,命名it worker.js,然后将其保存到src foldermiddle,如下所示:
现在我们创建了worker.js文件,让我们添加以下还原代码:
在上面的代码中,我们从使用工程的Redreducer介绍了它。
接受两个参数:
现在我们已经准备好了worker.js文件,我们需要从它导入它,这使我们可以从工作文件中调用还原器函数:
UseWorkerizedReducer函数接受三个参数并返回一个值:
处理数据是该函数执行到还原函数。
忙碌将永远是真实的,直到工人的初始状态成功地复制到工人为止。在您仍在处理的情况下,忙碌将返回true,否则返回错误。
还原器根据操作类型更改状态。在不明显的情况下,Action类型,减少和重置都会更新状态。
初始状态是。当越来越多的操作类型是调度时,我们简单地设置了计数。
在本文中,我们简要介绍了Web Worker和UserDucer,以及如何在React应用程序中构建和添加Web Worker文件。
我们还讨论了UseWorkerizedRedreducer,这将用户的函数带到了Web Worker。在本文中,我们介绍了在Web Worker中使用useworkerizedredredrededucer在Web Worker中使用REDUCER。
原始:https://juejin.cn/post/7100016815891283976