该视频仅会员有权观看
立即开通课程「Next.js 前端应用开发实践」权限。
- 创建一个新文件名为
hook到t e s
,放在up post[i d edit]
目录下。
- 导出一个名为
use edit post
的hook,它接收一个字符串类型的post id
参数。
- 在hook内部,使用
useState
初始化两个数据结构:title
和setContent
,默认值为空字符串。
- 使用
useRotor
从next navigation
包中获取路由器(rotor)的功能。
- 利用
useEffect
来显示编辑页面的内容,它依赖于post id
。
- 使用
get post by id
函数获取帖子数据,并使用setTitle
和setContent
设置标题和内容。
- 定义
edit post
方法来编辑内容。先检查title
是否有值,如果有,则发送PATCH请求到API,包含帖子的标题和内容。
- 如果响应状态码为200,使用路由器
rotor push
导航到帖子页面。
- Hook返回包含
title
、setContent
、content
和edit post
方法的对象。
上一节
定义内容工具栏组件(PostToolbar)