查看此代码,我们可以看到数据来自两个辅助函数,并且这些辅助函数位于一个data文件夹中。在开发过程中,我们可以通过console.log返回值来查看哪些内容可供我们使用,但我们也可以看到视频信息列在组件的 props 中。
这些数据从何而来?就 UI 开发而言,我们并不关心。这就是重点。通过 葡萄牙电报号码数据库 构建具有明确边界的应用程序,我们在构建前端时无需了解或关心底层数据库。
从本质上讲,我们可以用一个全新的系统完全取代数据层。它可以是 REST API、GraphQL 或与数据库的直接连接。只要loadVideoBySlug仍loadVideos返回相同的数据,我们就不必对使用此数据访问实用程序的任何组件进行任何更改。
数据访问可以代理到进一步独立的代码库
在与 Hasura 合作的项目中,我们需要在向 Hasura 发出的请求中设置密钥以进行访问控制,这意味着我们无法直接从前端进行调用。相反,我们设置了无服务器函数来管理该访问,这些函数可以像任何 REST API 端点一样从我们的前端调用。
这意味着无论我们在后台做什么,我们的前端都会调用 REST API — — 在 Hasura 案例中,这意味着发送 GraphQL 查询。
其中一个无服务器函数如下所示: