狗屎一样的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

相关文章

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt