在React组件和服务之间进行通信的最佳实践是什么?

拉斐尔(RafałŁyczkowski)

除了使用flux / redux体系结构,React组件应如何与服务进行通信?

例如:有一个容器,只有很少的代表性(反应)组件:

  1. ChatBox-启用读/写消息
  2. 带有密码更改器的AvatarBox-可更改用户密码
  3. 新闻流-列出新闻并对其应用过滤器

将它们视为资源表示形式,我希望它们中的每一个都能单独访问Microservice API(获取或更新数据)。它是否正确?它将提供干净的责任管理模型,但是使用http请求加载每个组件的内容会给性能带来疑问

这个问题还涉及:如何为多个(微)服务执行有效的通信?

安德烈·佩纳(AndréPena)

当您选择不使用Flux / Redux时,请执行以下操作:

创建一个应该包装所有其他组件外部组件。该组件也称为高级组件控制器视图该组件应使用HTTP库与您的微服务通信(我个人很喜欢Axios)。我建议您创建一个包装Axios的客户端API对象。您的高阶组件可以引用此客户端API,因此它与HTTP库无关。我还要把这个客户端API的参考的window对象dev模式,所以你可以做window.clientApi.fetchSomething()Chrome console,使调试更加方便。

使所有其他组件(ChatBox,AvatarBox和NewsStream)受到控制如果您不熟悉此概念,则表示他们通过道具获得了他们所需的一切,并且避免保持状态。这些组件不应调用微服务本身。这是高阶组件的责任。为了进行交互,这些组件应将事件处理程序作为道具接收

它是否正确?它将提供干净的责任管理模型,但是使用http请求加载每个组件的内容会给性能带来疑问

通过不允许每个组件直接与微服务联系,可以避免性能问题如果您的高阶组件编译了所需的所有信息,并进行了尽可能少的HTTP调用,那么使用这种方法应该会很好。

通常建议使用Flux / Redux,但是如果您选择退出,这就是解决方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

两台服务器之间进行通信的最佳方式是什么?

Powershell脚本与Windows服务之间进行通信的最佳方式是什么?

Ember.js:子组件和父组件之间进行通信的公认最佳实践

在React Redux中进行复杂过滤的最佳实践是什么

用GO编写的gRPC服务集合与Javascript客户端之间进行通信的最佳解决方案是什么?

通过Web客户端或某些中间件在vertx中的微服务之间进行通信的最佳方式是什么?

在Reactjs中的组件之间进行交互的最佳方式是什么?

Java-在使用字符串等方面在客户端和服务器之间进行通信的“行业标准”方法是什么

Angular 5-组件和服务之间的通信

Angular2:将包含指令和服务的功能分解为模块的最佳实践是什么?

Android-为什么使用接口被认为是在Activity和Fragment之间进行通信的最佳实践?

在React中将状态和回调从根组件传递到叶组件的最佳实践是什么?

在 AWS ECS 中,服务之间如何通信?(协议,最佳实践)

服务间WCF REST调用是在应用程序组件之间进行通信的最佳方式吗?

从孩子端开始,孩子与父母之间进行交流的最佳实践是什么?

为什么DHCP使用UDP端口67和68进行客户端和服务器之间的通信?

反应中组件之间进行通信的正确方式是什么?为什么不在各处使用引用?

在angularjs和mvc5之间进行通信的最佳方式是什么?

在 ubuntu 中,在多个进程之间进行通信的最佳方式是什么

在doGet方法和JSP页面之间进行通信的最佳方法是什么?

在jsp页面和Servlet之间进行通信的最佳方法是什么?

组件和服务依赖项之间有什么区别?

在React Native中的组件之间进行通信?

在React的子组件之间进行通信

OccAdapter和服务之间的用法区别是什么?

在vue组件中使用样式的最佳实践是什么?

样式组件中“ ThemeProvider”的最佳实践是什么?

在组件内部使用redux状态的最佳实践是什么?

什么时候进行输入验证的最佳实践是什么?