【Next】动态路由、加载 UI 和流式传输

动态路由

动态段作为 params 属性传递给 layoutpageroute 和 generateMetadata 函数。
/app/blog/[slug]/page.tsx

export default function Page({params}: {params:{slug:string}}) {return <h1>Slug Page -- {params.slug}</h1>
};

image.png

/app/shop/[...slug]/page.tsx

export default function Page({params}: {params:{slug:string}}) {return <h1>Catch All Slug Page -- {params.slug}</h1>
};

image.png

image.png

[...slug][[...slug]] 不能放在同一目录下。而且他们用法相似。

catch-all 和 option-catch-all 的区别在于,如果带可选参数,不带参数的路由也会被匹配(上例中的 /shop)。

image.png

generateStaticParams 功能可以在构建时与 动态路线段 至 静态生成 路由结合使用,而不是在请求时按需使用。

export async function generateStaticParams() {const posts = await fetch('https://.../posts').then((res) => res.json())return posts.map((post) => ({slug: post.slug,}))
}

如果使用 fetch 请求在 generateStaticParams 函数内获取内容,则请求为 自动记忆。 这意味着跨多个 generateStaticParams、布局和页面具有相同参数的 fetch 请求只会发出一次,从而减少构建时间。

加载 UI 和流式传输

在加载路线段内容时显示来自服务器的 即时加载状态。 渲染完成后,新内容会自动换入。

下面的 loading.tsx 是预渲染加载指示器。例如骨架和旋转器,或未来屏幕的一小部分但有意义的部分,例如封面照片、标题等。这有助于用户了解应用正在响应,并提供更好的用户体验。

Suspense 的流式使得页面的某些部分能够更快地显示,而无需等待所有数据加载后才能渲染任何 UI。

当你想要防止长数据请求阻止页面渲染时,流式处理特别有用,因为它可以减少 第一个字节的时间 (TTFB) 和 首次内容绘制 (FCP)。 它还有助于提高 互动时间 (TTI),尤其是在速度较慢的设备上。

/app/loading.tsx

export default function Loading() {return (<><div className={"text-2xl text-yellow-700"}>Loading...</div></>)
};

/app/layout.tsx

import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import {Suspense} from "react";
import Loading from "@/app/loading";const inter = Inter({ subsets: ["latin"] });export const metadata: Metadata = {title: "Create Next App",description: "Generated by create next app",
};export default function RootLayout({children,
}: Readonly<{children: React.ReactNode;
}>) {return (<html lang="en"><body className={inter.className}><Suspense fallback={<Loading />}>RootLayout{children}</Suspense></body></html>);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/619472.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chatgpt掘金之旅—有爱AI商业实战篇|播客剧本写作|(十三)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、AI技术创业播客剧本写作服务有哪些机会&#xff1f; 人工智能&#xff08;AI&#xff09;技术作为当今科技创新的前沿领域&#xff0c;为创业者提供了广阔的机会和挑战。…

Scaffold-GS 代码阅读笔记

1. 系统启动部分 使用 python 中的 parser 库 为配置系统的参数设定, 和3DGS 类似&#xff0c;并且使用safe_state(args.quiet) 函数 为每一次的 log 输出加上对应的 时间戳 ## 配置参数的设定lp ModelParams(parser)op OptimizationParams(parser)pp PipelineParams(pars…

面试经典算法系列之二叉数6 -- 二叉树的右视图

面试经典算法21 - 二叉树的右视图 LeetCode.199 公众号&#xff1a;阿Q技术站 问题描述 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4]…

数字乡村创新实践探索农业现代化与乡村振兴新路径:科技赋能农村全面振兴与农民幸福新篇章

随着信息技术的飞速发展&#xff0c;数字乡村成为推动农业现代化与乡村振兴的重要战略举措。科技赋能下的数字乡村创新实践&#xff0c;不仅提升了农业生产的智能化水平&#xff0c;也为乡村治理和农民生活带来了翻天覆地的变化。本文旨在探讨数字乡村创新实践在农业现代化与乡…

80% 的人都不会的 15 个 Linux 实用技巧

熟悉 Linux 系统的同学都知道&#xff0c;它高效主要体现在命令行。通过命令行&#xff0c;可以将很多简单的命令&#xff0c;通过自由的组合&#xff0c;得到非常强大的功能。 命令行也就意味着可以自动化&#xff0c;自动化会使你的工作更高效&#xff0c;释放很多手工操作&…

【周总结】

周总结 完成工单脚本的编写以及解决操作问题 完成相关 jira 问题修改 学习了 sentinel 整合项目使用流控&#xff0c;熔断&#xff0c;热点等功能的使用 2024/4/14 晴 1. 这周只办两件事&#xff0c;吃&#xff01;喝&#xff01;&#xff01;&#xff01; 2.忙忙忙&am…

978: 输出利用先序遍历创建的二叉树的中序遍历序列

解法&#xff1a; #include<iostream> #include<queue> using namespace std; // 定义二叉树结点 struct TreeNode {char val;TreeNode* left;TreeNode* right;TreeNode(char x) :val(x), left(NULL), right(NULL) {}; }; // 先序递归遍历建立二叉树 TreeNode* bu…

房贷还款(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <math.h>int main() {//初始化变量值&#xff1b;double m, r 0.01;float d 300000;float p 6000;//运算还款所需月份&#xff1b;m log10…

WPS二次开发系列:WPS SDk功能就概览

作者持续关注WPS二次开发专题系列&#xff0c;持续为大家带来更多有价值的WPS开发技术细节&#xff0c;如果能够帮助到您&#xff0c;请帮忙来个一键三连&#xff0c;更多问题请联系我&#xff08;QQ:250325397&#xff09; 作者通过深度测试使用了WPS SDK提供的Demo&#xff0…

便携式污水采样器的工作环境要求

便携式污水采样器的工作环境要求极为严格&#xff0c;以确保其能够准确、稳定地采集和分析水样。首先&#xff0c;该采样器必须在干燥、通风良好的环境中工作&#xff0c;以避免潮湿和高温对其内部电子元件的损害。同时&#xff0c;为了保证采样器的稳定性和精度&#xff0c;工…

水尺读数监测识别摄像机

水尺读数监测识别摄像机是一种具有巨大潜力的新型技术&#xff0c;它能够通过摄像头和智能识别算法&#xff0c;实时监测水尺的读数&#xff0c;并对水位进行准确识别。这种技术在水文监测、防洪减灾等领域有着广泛的应用前景。 在过去&#xff0c;水尺读数监测通常需要人工观测…

行业大佬为什么要用海外仓系统?位像素海外仓系统有什么优势?

在全球化浪潮下&#xff0c;跨境电商蓬勃发展&#xff0c;各路大佬企业纷纷崭露头角。而在跨境电商这个竞争激烈的市场中&#xff0c;为何众多行业大佬会选择使用海外仓系统呢&#xff1f;这背后的原因并不复杂&#xff0c;但足以让每一个追求效率和效益的企业家心动。让我们看…