在上一章中,您通过添加表单验证和改进可访问性完成了发票路由的构建。在本章中,您将向仪表板添加身份验证。 在本章之中,我们要讨论的主题: 什么是身份验证。 如何使用 NextAuth.js 向您的应用添加身份验证。 如何使用中间件来重定向用户并保护您的路线。 如何使用 React useActionS
在上一章中,我们了解了如何捕获错误(包括404错误)并向用户显示回退。但是,我们仍然需要讨论难题的另一个部分:表单验证。让我们看看如何使用 Server Actions 实现服务器端验证,以及如何使用 React 的useActionState钩子——同时牢记可访问性。 什么是可访问性? 可访问性是
在上一章中,我们学习了如何使用服务器动作来更改数据。让我们来看看如何使用 JavaScript 的 try/catch 语句和 Next.js API 来优雅地处理错误。 在这篇文字中,我们将会讨论: 如何使用特殊error.tsx文件捕获路线段中的错误,并向用户显示后备 UI。 如何使用notFo
书接上回,上回实现了使用Server Action 对数据进行增加存储到数据库当中,同时在存储的同时进行了数据格式类型进行校验,这章节我们将会对数据进行更新。 更新发票表单与创建发票表单类似,但您需要传递发票id来更新数据库中的记录。让我们看看如何获取和传递发票id。 以下是更新发票需采取的步骤:
在上一章中,您使用 URL 搜索参数和 Next.js API实现了搜索和分页。让我们继续处理发票页面,添加创建、更新和删除发票的功能! 在本章中,我们将要讨论几个主题: React Server Actions 是什么以及如何使用它们来改变数据。 如何使用表单和服务器组件。 使用本机formDat
在上一章中,您使用 URL 搜索参数和 Next.js API实现了搜索和分页。让我们继续处理发票页面,添加创建、更新和删除发票的功能! 在本章中,我们将要讨论几个主题: React Server Actions 是什么以及如何使用它们来改变数据。 如何使用表单和服务器组件。 使用本机formDat
书接上回,上一篇说到我们实现了咱内搜索,由于一次搜索的内容可能太多,因此这章将会将如何将内容进行分页。添加分页功能可让用户浏览不同的页面以查看所有发票。让我们看看如何使用 URL 参数实现分页功能,就像搜索一样。 添加分页 首先需要创建一个分页组件,用于承接这个功能,然后在发票页面上面进行引用 编辑
到目前为止,我们已经了解了静态和动态渲染,以及如何流式传输依赖于数据的动态内容。在本章中,让我们学习如何使用部分预渲染 (PPR)将静态渲染、动态渲染和流式传输结合到同一路线中。 静态路由与动态路由 对于当今构建的大多数 Web 应用,你可以为整个应用程序或特定路由选择静态或动态渲染。在 Next.
在上一篇文章中,你可以使用流式传输技术改进了仪表板的初始化加载性能。现在让我们转到页面/invoices,了解如何添加搜索和分页。 在本章节中,我们将要探讨两个内容: 了解如何使用 Next.js API useSearchParams:、usePathname和useRouter。 使用 URL
上回说到我们使用静态渲染的方法,会导致页面加载慢的问题,这节我们来讲一下当数据请求缓慢的时候,如何改善用户体验。 在本节中,我们将会讨论: 什么是流媒体以及何时可以使用它。 如何使用loading.tsx Suspense 实现流式传输。 什么是加载骨架。 什么是路线组,以及何时可以使用它们。 在您