【山竹记账前端-react】5.一个小时完成四个页面
大纲链接 §
[toc]
1. 第一个页面的HTML完成 ⇧
修改路由相关,保证跳转符合预期 ⇧
目前根路由不跳转,直接空白,修改路由表
@/route/routes.tsx
|
|
处理路由类型
@/route/router.tsx
|
|
修改欢迎页路由
@/route/welcomeRouter.tsx
|
|
调整结构,引入图标资源 ⇧
- 原先四个欢迎页面是整体路由切换的,现在改为头部页脚不同,中间卡片部分滑动
修改
@/layouts/WelcomeMainLayout.tsx结构
|
|
第一个页面卡片结构
@/pages/Welcome1.tsx
|
|
2. 第一个页面的CSS完成 ⇧
还是在
tsx结构中写@/layouts/WelcomeMainLayout.tsx
|
|
@/pages/Welcome1.tsx
|
|
3. 使用手机调试页面 ⇧
真机调试页面
搜索 google chrome android remote debug
手机端访问项目网址
- PC 启动项目时命令添加
pnpm dev --host - PC 运行命令查看 ip:
ipconfig,找到和手机同一个无线网下的ip:xx.xxx.xxx.xx - 使用
http://xx.xxx.xxx.xx/...替换http://localhost/...访问项目页面 - PC 上打开防火墙的ip白名单,保证ip下的端口可以访问PC
- 搜索 windows 端口加入白名单
- win11 高级安全 Windows Defender 防火墙
- 入站规则 -> 新建规则
- 选择:端口
- 填入:特定端口 5173,和项目地址中端口一致即可
- 允许连接
- 全选规则:域、专用、共用
- 名称任意,完成
- PC 启动项目时命令添加
使用数据线连接 PC 和 手机
手机端打开开发者选项
- 启用开发者选项中 USB 调试
- 此时会弹出确认框:允许USB调试吗?
- 可选:一律允许使用这台计算机进行调试
- 确定
PC端打开
chrome,地址栏输入chrome://inspect/#devices- 找到
Devices中你的设备,点击inspect,稍等弹出开发者工具页面即可 - 确保页面正在前台运行,而不是切换到后台休眠
- 找到
PC端打开
edge,地址栏输入edge://inspect/#devices- 后续类似
chrome
- 后续类似
可以查看浏览器控制台,进行调试
下载使用
Minimal ADB and Fastboot
- 手机端关闭 USB 调试
- 断开PC和手机的连接线
- 删除
~/.android/中全部文件 - 打开
CMD终端 - 运行文件夹中
cmd-here.exe - 输入运行命令
adb devices - 再次连接手机与PC
- 手机端打开 USB 调试
4. 四个页面完成 ⇧
参考第一个页面完成后续三个
@/pages/Welcome2.tsx
|
|
调整布局组件样式
@/layouts/WelcomeMainLayout.tsx
|
|
5. 优化动画的两个细节 ⇧
UnoCSS样式调试
- 添加
b-1 b-solid b-red标明盒子的边界
动画过渡问题 ⇧
动画过程中会
animated.div出现两个元素,后面的元素默认会被挤下去,添加绝对定位
- 弹性元素
main由于添加了grow-1,即使内部元素绝对定位了也会自动撑开 - 给
main添加相对定位 - 定义钩子
const [extraStyle, setExtraStyle] = useState({ position: 'relative',})- 将
extraStyle合并到animated.div元素的行内样式中 - 初始默认时相对定位,动画开始时设置成绝对定位,动画结束恢复相对定位
- 将
- 使用
transitions动画配置中的生命周期函数onStart、onRest - 微调动画元素周边的空白填充
- 将
animated.div确保宽度占满,动画元素连贯,去除main的内边距 - 将白色背景放到里层
div元素,并添加内边距 - 调整
display弹性布局样式,子元素撑开grow-1
- 将
@/layouts/WelcomeMainLayout.tsx
|
|
- 可复现步骤
- 先调成慢
4G网络 - 删掉浏览器
element面板中的相关节点 - 刷新页面
- 先调成慢
防止动画元素抖动 ⇧
- 给内部所有
img设置宽高- 当初始加载图片时,由于没有设置宽高,所以会抖动
- 使用边距来辅助定位时,动画过程中,也会发生抖动
- 使用
transform: translate()来调整元素定位,代替margin或padding
- 使用
@/pages/Welcome1.tsx
|
|
参考文章
- 设计稿
- 初始代码:https://github.com/FrankFang/88wqje5K
- 最终代码:https://github.com/FrankFang/kcSgKu5Z
- 提交历史:https://github.com/FrankFang/kcSgKu5Z/commits/master
相关文章
- 无
- 作者: Joel
- 文章链接:
- 版权声明
- 非自由转载-非商用-非衍生-保持署名