狗屎一样的React(第三节,创建app顶部标题栏)

本文主要是介绍狗屎一样的React(第三节,创建app顶部标题栏),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这一节,我们将创建APP顶部通用的标题栏。这个东西项目中也很常用的,什么?你想不到什么是顶部通用标题栏,我给你找几个图片:

就是这个东西。react所有的我们所看到的每一块东西,我们都应该以模块的思路来做。

1、css内容以后我们将不再给大家截图怎么写,因为都学到react了,我就觉得你css怎么也使用了至少有一两年了吧,哪怕是半年,写个background,color ,font-size应该也没问题了吧。所以,你后续就在我们上一节的demo.css去写,这里不再多说了;

2、html内容仍然不动,甚至后续index.html几乎也不会有太多的改动,因为我们以后将更多的使用import来在js文件中引入js以及css,慢慢的你就理解了React的模块思路了;

3、来到上一节的inde.js这个入口js文件,我已经把代码写好了,如图:

采用react工厂方法,创建一个AppTop组件,注意,首字母要大写而且必须大写,然后还是上一节的ReactDOM的render渲染方法,这次我们把刚才创建的AppTop组件引入过来。这样打开浏览器,看一眼我们的小效果:

 

其实创建组件还有其他的写法,比如:

再或者这么写:

写法不同,但异曲同工,就看你怎么写着更顺手,就像拍黄瓜一样,我们可以给黄瓜套个塑料袋,用板砖拍,也可以直接用菜刀拍,也可以用拳头砸,也可以擦丝吃,更可以稍微切几刀蘸酱吃,结果都是把黄瓜吃掉,哈哈。

4、但这个顶部是多个页面都需要用的,除了首页外,比如登录页,比如列表页,比如详情页,再比如个人中心页,再个人中心的子页面,而且我们有过项目经验的都知道,这个公用顶部样式相同,显示文字却不相同。所以,我们还需要把这个顶部模块单独出来,添加传值显示文字

5、在src文件夹下的js文件夹下,创建top.js,这个就做为我们公共顶部的模块js文件,如图:

首先这个js模块引入了刚才的demo.css,然后创建AppTop没什么可说的了,多照着写几遍,然后的export是es6的使用,是要把我们创建的AppTop这个小模块给返回出去,供外面的模块引入使用。意思就是隔壁二大娘来家里借菜刀,然后她就import,你要是想借就提供一个export,说给你。没问题吧

6、然后是index.js这个入口js文件,怎么来使用我们单独创建的这个AppTop模块呢,如图:

在这里,我们通过import引入刚才的AppTop模块,其实跟原来的<script src="top.js">差不多,但React就是要这么写,就是为了凸显自己很牛掰,怎么样,是不是很狗屎,这突然让我想到一个郭德纲的经典段子:俩人出去旅游迷路了,迷茫之中听到的坏消息是这个地方啥也没有,只能靠吃牛粪过日子,好消息却是牛粪有的是。哎,你说为什么就不能吃牛肉呢?我们继续,然后引入了AppTop,继续render渲染,到id是root的div上。看一眼浏览器,这样就是一个公用的组件了。

7、但每个页面要显示的内容不同啊,何解?我们继续。我们将首页继续改造一下,如图:

我们又新创建了一个组件SiteIndex,这里面装上之前的AppTop,然后来render渲染SiteIndex,因为首页每个页面不单单只是会又顶部,还会有其他内容,后续首页我们就可以把其他组件继续装入SiteIndex中了。

8、再看看传入的 word="首页",这个就相当于我们之前给方法传值,这里传入“首页”,然后top.js中,

采用this.props.word就可以拿到传值数据了,这样达到了就像以前我们传值显示一样的效果。

这一节稍微有点长,不过没关系,我尽量多截图,多打字,希望小伙伴们可以更轻松的去理解,实在是不理解的多敲几遍,多看几遍。下一节,我们将做一个首页banner图轮播的组件,而且几乎每个APP应用首页都会有banner图轮播,喜欢的小伙伴请关注下一节: 狗屎一样的React(第四节,首页banner图轮播)

这篇关于狗屎一样的React(第三节,创建app顶部标题栏)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/750292

相关文章

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可