当前位置: 首页 > wzjs >正文

做网站网络公司新媒体营销六种方式

做网站网络公司,新媒体营销六种方式,做词频分析的网站,一个公司的网站怎么做在 Next.js 12 中,动态路由和参数传递主要通过文件系统路由(File-system Routing)实现。以下是详细步骤和示例: 一、创建动态路由 ‌文件命名规则‌ 在 pages 目录下创建文件名用 [参数名].js 格式的文件,例如&…

在 Next.js 12 中,动态路由和参数传递主要通过文件系统路由(File-system Routing)实现。以下是详细步骤和示例:

一、创建动态路由

  1. ‌文件命名规则‌

pages 目录下创建文件名用 [参数名].js 格式的文件,例如:

pages/posts/[id].js // 单个参数
pages/[category]/[id].js // 多段参数

  1. 匹配的 URL 示例‌
  • /posts/123id: '123'
  • /news/456category: 'news', id: '456'

二、传递参数

  1. 使用 <Link> 组件导航
import Link from 'next/link';// 传递单个参数
<Link href="/posts/123">Post 123</Link>// 传递多个参数(自动拼接 URL)
<Link href="/news/456?author=John">Post 456</Link>
  1. 编程式导航(useRouter
import { useRouter } from 'next/router';function MyComponent() {const router = useRouter();const navigate = () => {// 传递单个参数router.push('/posts/123');// 传递多个参数(URL 自动拼接)router.push({pathname: '/news/[id]',query: { id: '456', author: 'John' },});};return <button onClick={navigate}>跳转</button>;
}

三、获取参数

  1. 在页面组件中获取参数
    使用 useRouterquery 对象:
import { useRouter } from 'next/router';function Post() {const router = useRouter();const { id } = router.query; // 获取动态路由参数const { author } = router.query; // 获取查询参数(如 ?author=John)return <div>Post ID: {id}, Author: {author}</div>;
}
  1. getStaticPropsgetServerSideProps 中获取参数
    动态路由参数通过 context.params 传递:
export async function getStaticProps(context) {const { id } = context.params; // 获取动态路由参数const res = await fetch(`https://api.example.com/posts/${id}`);const post = await res.json();return { props: { post } };
}// 必须定义 getStaticPaths 来生成静态页面
export async function getStaticPaths() {return {paths: [{ params: { id: '1' } }, { params: { id: '2' } }],fallback: true, // 或 'blocking'};
}

四、高级用法

  1. 可选参数(Optional Parameters)
    使用双括号 [[...参数名]] 格式:
pages/posts/[[...slug]].js

匹配的 URL:

  • /postsslug: undefined
  • /posts/123slug: ['123']
  • /posts/123/456slug: ['123', '456']
  1. 捕获所有路径(Catch-all Routes)
    使用 [...参数名].js 格式:
pages/posts/[...slug].js

匹配的 URL:

  • /posts/123slug: ['123']
  • /posts/123/456slug: ['123', '456']

五、注意事项

  1. ‌fallback 模式‌

使用 getStaticPaths 时,若未预生成所有路径,需设置 fallback: true'blocking',并在页面处理加载状态。

  1. ‌客户端渲染与服务器渲染‌
  • 直接访问页面时(如刷新),参数会在首次渲染时存在。
  • 客户端导航时,参数可能稍后加载,需处理 router.isReady
useEffect(() => {if (router.isReady) {const { id } = router.query;}
}, [router.isReady]);
  1. 参数类型

所有参数均为字符串,需手动转换数字类型。

通过以上方法,你可以在 Next.js 12 中轻松实现动态路由、参数传递和获取。

http://www.dtcms.com/wzjs/125868.html

相关文章:

  • 学校网站建设项目可行性分析报告seo在线外链
  • 广东省示范校建设专题网站seo模拟点击工具
  • 春哥 响应式网站建设淘宝seo是什么意思啊
  • 沈阳市人大网站建设时间网络营销外包推广价格
  • 泗洪网站建设域名注册管理机构
  • asp.net 网站管理工具网站优化的主要内容
  • 优化企业门户网站东营网站建设费用
  • 怎么将网站做成小程序广东百度推广的代理商
  • 句容网站建设跨境电商平台哪个最好最可靠
  • 怎么接做网站私单软文经典案例
  • 信誉好的龙岗网站设计关键词排名点击软件
  • 福州网站建设服务关键词排名推广公司
  • 1建设网站的重要性重庆seo公司怎么样
  • 拼多多电商网站建设今天新疆新闻头条
  • 专业做破碎机的网站青岛seo青岛黑八网络最强
  • 学校网站的建设需求一般网络推广应该怎么做
  • 镇江企业网站谷歌优化方法
  • 做动态网站用什么语言域名ip查询查网址
  • 校园网站建设需要什么免费引流微信推广
  • 广州市网站建设公司热搜词排行榜关键词
  • 江门网站建设公司哪家好win7运行速度提高90%
  • 深圳网站建设公司平台网站搜索引擎优化报告
  • web网站开发的书籍营销比较好的知名公司有哪些
  • 个人网站建设实验心得seo点击排名软件营销工具
  • saas是不是做网站网络培训平台有哪些
  • 做网站不优化南京seo网络推广
  • 企业所得税税前扣除凭证管理办法珠海seo排名收费
  • 仓库进销存管理软件免费版北京seo经理
  • 利用赞赏码做网站收款网络营销的基本方法
  • 忻州市住房城乡建设局网站百度竞价怎么做