DEV Community

Eddie Kimpel
Eddie Kimpel

Posted on

1

Is React-query out of date? This new favorite makes cross-component requests a breeze!

React-query已过时?这个新宠让跨组件请求秒变简单!

哇,各位前端小伙伴们,最近我发现了一个超级棒的新技术!你们知道吗,这个东西可以轻松搞定跨组件的请求,简直就是前端开发的救星啊!

alovajs:下一代请求工具

相比起大家熟悉的 react-query 和 swrjs,alovajs 可以说是下一代请求工具了。它不仅简化了请求流程,还提供了现代化的 openapi 生成方案。你们想象一下,只需要一键就能生成接口调用代码、TypeScript 类型和接口文档,是不是超级方便?

alovajs 功能概览

要深入了解 alovajs 的强大之处,快去它的官网 https://alova.js.org 看看吧!

跨组件触发请求:alovajs的杀手锏

不过今天我要主要跟大家分享的是 alovajs 的一个超赞功能 —— 跨组件触发请求。你们以前在处理这种需求的时候肯定都很头疼吧?比如说,你在一个组件里更新了菜单数据,然后想要在另一个组件里重新拉取最新的数据。用 Vuex 和 Redux 这些状态管理工具来处理真的太麻烦了!

但是有了 alovajs,一切都变得so easy了。我们只需要在组件 A 里使用 actionDelegationMiddleware 来委托 useRequest 的操作函数,然后在任意其他组件(比如组件 B)里通过 accessAction 就能轻松触发组件 A 的请求。

// 组件A
import { actionDelegationMiddleware } from 'alova/client';

useRequest(queryTodo, {
  middleware: actionDelegationMiddleware('updateTodo')
});
Enter fullscreen mode Exit fullscreen mode
// 组件B 
import { accessAction } from 'alova/client';

accessAction('updateTodo', delegatedActions => {
  delegatedActions.send(); // 触发组件A中的请求
});
Enter fullscreen mode Exit fullscreen mode

酷吧?这样我们就可以在任何地方更新数据了,不用再担心组件层级的限制了。

alovajs 还支持批量触发操作函数。你可以在多个组件中使用相同的委托名称,然后在另一个组件里一次性触发它们。还可以使用正则表达式来批量触发满足条件的请求。这种灵活性真的太棒了,让我们的代码结构更清晰,逻辑更集中!

跨组件触发请求示意图

总结

总之,通过 alovajs 的跨组件触发请求功能,我们可以大大提升开发效率,让代码更易维护。说实话,自从用了 alovajs,我感觉自己的代码水平都提高了不少呢!

各位小伙伴们,你们平时是怎么处理这种需求的呢?有没有遇到什么棘手的问题?不妨试试 alovajs,也许它能给你带来意想不到的惊喜哦!最后,我想请大家思考一下:在你的项目中,是否有可以通过跨组件触发请求来优化的地方?使用 alovajs 会给你的开发流程带来哪些改变?欢迎在评论区分享你的想法和经验,让我们一起进步!

SurveyJS custom survey software

Build Your Own Forms without Manual Coding

SurveyJS UI libraries let you build a JSON-based form management system that integrates with any backend, giving you full control over your data with no user limits. Includes support for custom question types, skip logic, an integrated CSS editor, PDF export, real-time analytics, and more.

Learn more

Top comments (0)

The best way to debug slow web pages cover image

The best way to debug slow web pages

Tools like Page Speed Insights and Google Lighthouse are great for providing advice for front end performance issues. But what these tools can’t do, is evaluate performance across your entire stack of distributed services and applications.

Watch video

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay