通过控制“ usefeffect”执行来发现如何优化下一个.js应用程序。学会使其仅在DOM渲染上运行一次,从而防止数据获取。 --- This video is based on the question https://stackoverflow.com/q/73977399/ asked by the user 'Kartik Fulara' ( https://stackoverflow.com/u/17528248/ ) and on the answer https://stackoverflow.com/a/73977483/ provided by the user 'Sean' ( https://stackoverflow.com/u/11726149/)在“堆栈溢出”网站上。感谢这些出色的用户和Stackexchange社区的贡献。请访问这些链接以获取原始内容和更多详细信息,例如替代解决方案,有关主题,评论,修订历史记录等的最新更新/开发。在“ CC BY-SA 4.0”(https://creativecommons.org/licenses/by-sa/4.0/)下获得许可,原始答案帖子在“ CC BY-SA 4.0”(https://creativecommons.org/licens.org/licensess/by-sa/4.0/4.0/4.0/4.0/4.0/4.0/4.0/4.0/4.0/4.0/4.0/上)。如果您似乎有什么事,请随时用vlogize [at] gmail [dot] com写信给我。 ---如何确保使用效率仅在Next.js中仅运行一次。读者最近询问了一个有关其使用效应多次执行的问题,这导致了从其服务器获取数据时的问题。如果您发现自己处于类似情况,那么您就在正确的位置!今天,我们将讨论如何在DOM渲染以及更好地处理数据获取的更好的方法时,仅在DOM渲染时仅运行一次。理解React中的问题,使用效果钩被设计为在组件的渲染后运行,并且可以通过状态或道具的变化触发。但是,在某些情况下(尤其是在开发模式下),这可能会导致使用效应无意间多次称为。这是场景:您具有从服务器获取数据的函数。您的使用效应正在运行两次,这可能会混淆代码的逻辑并影响端点响应。问题的代码示例这是一个示例,说明某人在遇到此问题时如何构建代码:[[请参阅视频以显示此文本或代码片段]]此代码可能只能运行GetFriends()一次。但是,空依赖性阵列([])仍然会导致意外的重新渲染,尤其是在使用严格模式时。解决方案 - 使用依赖项数组来防止使用效率多次执行,我们可以通过在依赖项数组中加入令牌来修改我们的方法。这允许使用效果仅在令牌更改时运行,以确保其每个相关更改一次运行。修订的代码示例以下是如何实现解决方案的方法:[[请参阅视频以显示此文本或代码段]]解决方案的分解,将令牌添加到依赖项数组中:通过将令牌添加到依赖项数组中,您就告诉React在代币值更改时运行使用效果。这避免了组件的第一个渲染后不必要的多个呼叫。检查令牌:在效果中检查令牌的检查确保您重定向未经认证并适当处理其会话的用户。结论通过明智地使用依赖项数组,您可以控制使用效应的执行,以确保仅在指定条件下运行。这种练习不仅可以提高性能,还可以帮助您在下一个应用程序中保持更好的用户体验。如果您遇到了类似的问题,则遵循以下步骤将在组件渲染中提供清晰度和效率。对您的代码库实施这些更改,将来您将能够更有效地管理效果钩!