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

wordpress 回收站在哪里个人可以备案哪些网站

wordpress 回收站在哪里,个人可以备案哪些网站,网站推广的基本方法是哪四个,wordpress评论通知作者前言 最近几天用 next.js 开发了一个小项目,之前的项目基于 next.js 时,我都是使用的 jsx 的方式进行开发。而这次给客户升级,我升级为了 tsx 的方式进行开发,并且把 next.js 升级到了最新的 v15 版本。在开发过程中,…

前言

最近几天用 next.js 开发了一个小项目,之前的项目基于 next.js 时,我都是使用的 jsx 的方式进行开发。而这次给客户升级,我升级为了 tsx 的方式进行开发,并且把 next.js 升级到了最新的 v15 版本。在开发过程中,遇到几个小坑,这里记录一下。

NEXTJS

目录构建

好,我的 nextjs APP 的目录构建如下所示:

src/app
├── article
│   └── [id]
│       └── page.tsx
├── channel
│   └── [id]
│       ├── [page]
│       │   └── page.tsx
│       └── page.tsx
├── layout.tsx
└── single└── [id]└── page.tsx

好,以上路径匹配路由为

# 首页
/
# 栏目页面
/channel/[id]
# 栏目分页页面
/channel/[id]/[page]
# 文章页面
/article/[id]
# 其他省略。

坑1,在页面中获取动态 id 失败

一开始,我用一下代码获取动态 id,结果获取失败。

export type PageChannelParamsTypes = {params: {id: stringpage?: string}
}export default async ({ params }: PageChannelParamsTypes) => {const { id, page: paramPage = 0 } = params//...
}

用 DeepSeek 和 Claude 3.5 两个 AI 问了半天,都解决不了,无奈,查询官方文档,最终解决了问题。调整后的代码如下:

export type PageChannelParamsTypes = {params: {id: stringpage?: string}
}export default async ({ params }: PageChannelParamsTypes) => {const { id, page: paramPage = 0 } = await params//...
}

OK, 终于可以获得 id 等参数了。我告诉 DeepSeek ,这里需要加一个 await ,DeepSeek 跟我犟嘴,非说我的代码是错误的。。。。

不管它,终于跑起来了。

坑2, 在编译过程中,提示出现失败

终于,把项目开发差不多了,准备编译一下,开心的运行了 pnpm run build 命令,然后我心拔凉拔凉的,编译失败,有如下报错:

 next build▲ Next.js 15.1.8Creating an optimized production build ...✓ Compiled successfullyLinting and checking validity of types  ...Failed to compile.src/app/article/[id]/page.tsx
Type error: Type 'PageParamsTypes' does not satisfy the constraint 'PageProps'.Types of property 'params' are incompatible.Type '{ id: string; }' is missing the following properties from type 'Promise<any>': then, catch, finally, [Symbol.toStringTag]Next.js build worker exited with code: 1 and signal: null

继续问 AI,答非所问,乱改一通。全部拒绝后,再次翻阅官方文档,终于解决了问题,最终代码如下:

export type PageChannelParamsTypes = {params: Promise<{id: stringpage?: string}>
}export default async ({ params }: PageChannelParamsTypes) => {const { id, page: paramPage = 0 } = await params//...
}

在类型定义的时候,需要给 id 和 page 这个对象,包裹上 Promise 才能通过编译。并且,在编辑器里,不再提示这个 await 是多余的了。

编译结果
最终顺利通过编译。

官方文档

官方文档地址如下:https://nextjs.org/docs/app/api-reference/file-conventions/page#params-optional
官方文档截图

小结

有时候,尤其是 AI 开始瞎编乱造时,一定要查阅官方文档,不能过度信赖 AI。

也怪我自己看得不仔细,第一次看的时候,只注意到了 await,没注意到上面还有一个 Promise 最终在一个坑里被埋了两次。

哎~还是自己用 nextjs 用得少的缘故。

各位看官,你在开发的过程中遇到过什么坑呢,欢迎在评论区交流!顺便用发财的小手点一下赞吧!谢谢!

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

相关文章:

  • 您的网站空间已过期弄一个公司官网要怎么弄
  • 广西中小型营销型网站建设公司wordpress简单用户积分
  • 百度收录规则2022酒店seo是什么意思
  • 设计的有趣的网站推荐网站建设和原则
  • 网站开发保密协议 doc大型门户网站 代码
  • 做动态二维码的网站嘉兴哪家公司做网站比较好的
  • 织梦唯美网站源码seo还有未来吗
  • 有没有做博物馆的3d网站旅游网站建设的背景意义
  • 2019个人建设网站静态网页设计教程
  • 韶关网站seowordpress更换编辑器
  • 静安西安网站建设商务平台网站建设合同
  • 网站模板 jsp辽源市住房和城乡建设局网站
  • 如何网站做镜像wordpress comment_form_after
  • 不屏蔽网站的浏览器给网站做插画分辨率
  • 汽车低价网站建设sketch wordpress 主题
  • 免费网站做seo2018怎么做网站淘宝客
  • 凡科建站是放在哪个服务器上中国城乡建设结合部网站
  • 什么行业要做网站建设推广这些垂直网站 开源码
  • 网站后期维护和管理怎么做可信赖的南昌网站制作
  • 企业介绍微网站怎么做跨境电商平台规则
  • 建筑设计网站app北京12345微信公众号
  • 做一个网站推广个人门户网站建设流程
  • 台前网站建设费用青岛手工活外发加工网
  • 优秀网站首页设计济南seo网站推广公司
  • 吉安高端网站建设公司网站 建设意见
  • 做网站搞笑口号网店加盟
  • 网站排名点击邯郸做网站哪家好
  • 做网站有自己的服务器吗物流商 网站建设方案
  • 网站推广公司兴田德润电话多少wordpress文章图片本地化
  • 建设网站的推广的软文北京商场招商