学习react,复制一个civitai-更新2

更新内容

耗时一个礼拜左右,增加了个新界面:模型图片详情界面。

看看效果图吧:

功能介绍

操作:在模型详情界面点击一个图片,就能到图片详情界面

1.点击哪个图片,就会展示哪个,同时还会更新图标的下标。
2. 右上角有个X,点击就能关闭
3. 键盘ESC键,也能关闭图片详情界面
4. 点击左右图标会更新路由的imageID
5. 如果有prompts,在右下角可以复制prompts到stable diffusion

总的来说,跟Civitai官网是一样的操作,只不过数据没人家的丰富。

React 知识点

返回back上一个界面

# 导入 钩子useNavigate
import {useNavigate } from 'react-router-dom';
# 使用
const nav = useNavigate()
# 返回上一级,传一个-1就能返回
const close = ()=> nav(-1)

监听键盘ESC,用户按下,关闭界面

# 导入useHotkeys钩子
import { useHotkeys } from '@mantine/hooks';
# 使用,close是一个关闭方法
useHotkeys([['Escape', close]]);

更新路由参数imageID

# 主要用到 useSearchParams 这个钩子
const [searchParams,setSearchParams] = useSearchParams()
# 更新路由参数的时候,注意设置replace:true
setSearchParams({imageID: 123},{replace: true})
# 如果更新路由再传递参数
setSearchParams({imageID: 123},{replace: true,state:myparams})
# 接收state参数,可以直接用useLocation钩子
const locat = useLocation()
const state = locat.state

总结

虽然只是一个简单的界面,但是要实现里面的功能,还是要学习很多react钩子,路漫漫其修远兮,还要继续努力学习react!

相关推荐
GISer_Jing11 分钟前
从0开始分享一个React项目(二):React-ant-admin
前端·react.js·前端框架
明月看潮生13 分钟前
青少年编程与数学 02-006 前端开发框架VUE 12课题、表单绑定
前端·javascript·vue.js·青少年编程·编程与数学
zlting~16 分钟前
【VUE+ElementUI】通过接口下载blob流文件设置全局Loading加载进度
前端·vue.js·elementui
努力的小玖心31 分钟前
Java将String类型的html文本中的img路径替换前缀
java·前端·html
菜鸟xy..33 分钟前
html 前端进行浮动布局设置
前端·html
赔罪36 分钟前
HTML - <link>
前端·vscode·html·webstorm
一只小爪子1 小时前
通过 ulimit 和 sysctl 调整Linux系统性能
linux·运维·前端
一点一木1 小时前
前端报告 2024:全新数据,深度解析未来趋势
前端·javascript·vue.js
失眠的咕噜1 小时前
vue 导出excel接口请求和axios返回值blob类型处理
前端·javascript·vue.js
HelloZheQ1 小时前
CSS 伪类和伪元素:为你的选择器注入更多活力
前端·css