用户登录

新建一个内容列表组件,可以把它放在 app/posts/components 里面,名字是 post-list.tsx,在文件里定义一个组件,名字是 PostList,设置一下组件的属性,添加一个 data 属性,类型是 PostList。

然后在这个 components 目录里面新建一个 styles 目录。再把项目的 public/styles 里的这个 post-list.css ,放在这个新创建的 styles 目录下面。

在 PostList 组件里面可以导入这个样式表,import 一个样式表,位置是当前目录 styles 里的 post-list.css。

打开 posts/page 页面组件,在这个组件的视图里可以用一下刚才创建的 PostList 组件,设置一下它的 data 属性,值是请求回来的内容列表数据,也就是 posts。

post-list-item

列表里面的内容项目可以单独放在一个组件里,在这个 components 目录里再创建一个文件,名字是 post-list-item.tsx,文件里定义一个组件,名字是 PostListItem。设置一下组件的属性的类型,添加一个 data 属性,类型是 Post。

使用 PostListItem

打开 post-list 组件,在组件的视图里面,先给这个包装元素添加一个类,名字是 post-list,这个类的样式来自上面导入的 post-list.css 这个样式表。

在这个包装元素里面,用一下 props.data.map,当前项目是 item,函数返回的东西就是 PostListItem 组件,设置一下 data属性,值是 item,再设置一下 key 属性,值可以设置成 item.id。

项目视图

继续再编辑 post-list-item 组件,先在这个组件里解构一下组件的 props,需要的是 data,继续解构这个 data,需要的是 title,content 还有 user 这几个属性。

然后设置一下组件的视图,一组 div 元素,里面再添加两组 div ,第一组 div 里面我们在后面会添加内容的图像。在第二组 div 里面是一些文字内容。

一组 div,里面可以绑定输出 title ,再添加一组 div,绑定输出内容的 content,再添加一组 div,一个小横线,然后绑定输出 user.name ,也就是内容的作者。

预览

最后在浏览器可以预览一下这个内容列表页面的显示。

内容列表(PostList,PostListItem)《 Next.js:网络请求 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点