TechM-技术网站
介绍
你将为⼀个技术社区设计并实现⼀个官⽹。该社区旨在为软件⼯程师、开发⼈员和技术
爱好者提供⼀个交流平台,分享最新的技术动态、⽂章、项⽬案例。
项目模块
项目分为三个模块 : 主页展示模块,文章详情模块,文章专栏模块。
主页展示模块:
主页展示模块设计:
主要设计分为两个模块:layout模块显示,中间为内容模块
layout模块
顶部导航栏区域:使用antd组件中 Layout ,Menu,Input组件进行开发完成
使用css固定样式将顶部导航栏固定在页面头部
左侧 菜单分别为文章,问答,专栏,文档 链接,点击后可进入专属模块中
右侧为 搜索框,按钮,图标模块。
中间为内容模块
中间内容模块:使用antd组件中Carousel, Avatar, List, Tabs, Row, Col等组件开发完成
中间内容模块:分为三部分 :头部图片展示部分,底部左侧:列表部分,底部右侧:列表部分
头部部分:
分为轮播图和热⻔⽂章列表组件展示
轮播图模块 使用了Carousel组件来完成,设置 autoplay, autoplaySpeed={5000}属性完成轮播图自动轮播,间隔时间5s。同时点击下标可切换轮播图片
热⻔⽂章列表 使用了List组件 点击⽂章可进⾏跳转⽂章详情⻚
底部左侧:
使用了antd组件中 Input,Tabs ,Flex,List,Tag等组件开发完成
模糊搜索框中实现了搜索防抖功能点,防止用户频繁搜索
列表展示模块中使用了 Tabs ,List,Tag组件开发完成
点击不同的tab可以切换出tab下对应的内容,同时激活状态的tab高亮展示
⽂章列表组件 使用List组件开发完成,点击文章可以进行跳转到文章详情页面
底部右侧:
使用了 Tab ,List 组件开发完成
点击不同的tab可以切换出tab下对应的内容,同时激活状态的tab高亮展示
文章详情模块
使用了Card, List, Typography, Avatar, Button组件完成开发
文章详情模块页面布局
实现了从上之下:文章标题-文章基本信息-文章内容-评论区
左侧实现了回复评论,发表评论,点赞评论功能点
文章专栏模块
分类头部图片展示模块,底部卡片展示模块
头部图片展示模块:使用了card组件开发完成
底部卡片展示模块:使用了Tab,List组件开发完成
点击不同 tab 正常切换 tab 下对应内容。
激活状态的 tab ⾼亮展示
项目难点:
对于搜索框,实现防抖功能点:
function debounce<T extends (...args: any[]) => any>(
func: T,
wait: number
): (this:any,...args: any) => ReturnType<T> {
let timeoutId: any= null;
return function(...args: any): any {
const context = this;
if (timeoutId) {
clearTimeout(timeoutId);
}
timeoutId = setTimeout(() => func.apply(context, args), wait);
};
}
其次在对于页面样式方式:修改组件库样式,使用了穿透
项目总结:
总体完成了网站的开发,学习到了关于react 路由,组件中的知识,对于Antd组件有了一定的了解,对于TypeScript类型有所掌握。
不足之处:对于页面样式方面有所欠缺
上一篇: 【WP|5】Word
下一篇: Python Web