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

Rest React组件和服务之间通信的最佳实践是什么?,rest,reactjs,redux,flux,microservices,Rest,Reactjs,Redux,Flux,Microservices,与使用flux/redux体系结构不同,react组件应该如何与服务通信 例如: 有一个容器具有很少的代表性(反应)成分: 聊天盒-允许读/写消息 带密码转换器的AvatarBox-可更改用户密码 新闻流-列出新闻并对其应用过滤器 将它们视为资源表示,我希望它们中的每一个都能够自己访问Microservice API(获取或更新数据)。这是正确的吗? 它将提供干净的责任管理模型,但使用http请求加载每个组件的内容会给性能带来疑问 这个问题还涉及到:当您选择不使用Flux/Redux时,您可以这

与使用flux/redux体系结构不同,react组件应该如何与服务通信

例如: 有一个容器具有很少的代表性(反应)成分:

  • 聊天盒-允许读/写消息
  • 带密码转换器的AvatarBox-可更改用户密码
  • 新闻流-列出新闻并对其应用过滤器
  • 将它们视为资源表示,我希望它们中的每一个都能够自己访问Microservice API(获取或更新数据)。这是正确的吗? 它将提供干净的责任管理模型,但使用http请求加载每个组件的内容会给性能带来疑问


    这个问题还涉及到:

    当您选择不使用Flux/Redux时,您可以这样做:

    创建一个应包裹所有其他组件的外部组件。该组件也称为高阶组件控制器视图。这个组件应该使用HTTP库与您的微服务通信(我个人喜欢)。我建议您创建一个封装Axios的客户端API对象。您的高阶组件可以引用此客户机API,因此它与HTTP库和诸如此类的内容无关。我还将在
    dev
    模式下的
    window
    对象上放置此客户端API的引用,以便您可以在
    Chrome控制台中执行
    window.clientApi.fetchSomething()

    控制所有其他组件(聊天盒、AvatarBox和新闻流)。如果您不熟悉这个概念,这意味着他们可以通过道具获得所需的一切,并且避免保持状态。这些组件不应该调用微服务本身。这是高阶组件的责任。为了实现交互,这些组件应该作为道具接收事件处理程序

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

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

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

    根据:

    有时,我们可能需要添加更多的控制器视图 层次结构使组件保持简单。这可能有助于我们更好地封装 层次结构中与特定数据域相关的部分

    这就是我对特定组件域的责任的思考(其中三个被描述)。那个么,制作三个控制器视图(或存储)以访问相关API来管理资源数据是否可靠呢