React入门---组件嵌套-5
组件嵌套
我们现在需要组件嵌套,所以要创建其他组件,目前有一个头部组件,在./components/header.js;
接下来在components文件中创建:底部组件footer.js 和主体组件BodyIndex.js
项目框架应该为:

底部组件footer.js 和主体组件BodyIndex.js代码编译:
1. header.js (之前有编译过)
import React from 'react';
import ReactDOM from 'react-dom';
//创建一个类 ComponentHeader 相当于继承react里component的子类
//export default 输出这个类
export default class ComponentHeader extends React.Component{
//render() 解析类的一个输出
render(){
return(
<div>
<h1>这是头部</h1>
</div>
);
}
}
2. footer.js
import React from 'react';
import ReactDOM from 'react-dom'; export default class ComponentFooter extends React.Component{
render(){
return(
<div>
<h1>这里是底部</h1>
</div>
)
}
}
3.BodyIndex.js
import React from 'react';
import ReactDOM from 'react-dom'; export default class BodyIndex extends React.Component{
render(){
return(
<div>
<h1>这里是主体内容部分</h1>
</div>
)
}
}
将这个三个组件都编译好之后,与Index.js进行关联
4. Index.js
var React = require('react');
var ReactDOM = require('react-dom');
//把刚才定义的头部引用进来 from后面写路径
import ComponentHeader from './components/header';
//把刚才定义的底部引用进来 from后面写路径
import ComponentFooter from './components/footer.js';
//把刚才定义的主体引用进来 from后面写路径
import BodyIndex from './components/BodyIndex.js';
class Index extends React.Component{
//在这里解析类
render(){
return(
//里面分别是 头部 主体 底部
<div>
<ComponentHeader/>
<BodyIndex/>
<ComponentFooter/>
</div>
);
}
}
//与app.html进行一个绑定
ReactDOM.render(<Index/>,document.getElementById('test'));
最后,在CMD里面进入项目文件夹,运行webpack-dev-server 即可实现简单的组件嵌套。
组件嵌套可以用变量代替:
render(){
var component = <ComponentHeader/>;
return(
//里面分别是 头部 主体 底部
<div>
{component}
<BodyIndex/>
<ComponentFooter/>
</div>
);
}
这个和上面显示出来的是一样的;
问题:那用变量代替有什么用呢?
例如:可以进行登录和未登录的一个试图切换,下面写一段伪代码,加强理解
render(){
var component;
if(用户已登录){
//已登录
component = <ComponentLoginHeader/>
}else{
//未登录
component = <ComponentHeader/>
}
return(
//里面分别是 头部 主体 底部
<div>
{component}
<BodyIndex/>
<ComponentFooter/>
</div>
);
}
这样一来,我们就能发现组件化开发的好处,代码简洁,各自组件管理各自逻辑的处理,比如页脚变更,只需进行footer.js里面一处的修改,整个项目引用了的地方都会进行变更,这是一个非常好的思想,也是React的一个重点。
React入门---组件嵌套-5的更多相关文章
- React入门--------组件的生命周期
Mounting/组件挂载相关: componentWillMount componentDidMount Updating/组件更新相关: componentWillReceiveProps sho ...
- React入门--------组件API
setState 参数:nextState(object),[callback(function)] 设置nextState的某个键值.通常如果希望在某个事件或某个回调中来重新渲染组件,setStat ...
- React入门---组件-4
组件:网页可以分为多个模块,比如头部,底部,分享等各种模块,这些模块在其他页面也可能会用到,我们把这些分开,每一个模块当作一个组件,进行复用. 接下来直接以头部 header作为一个组件来进行demo ...
- react入门-组件方法、数据和生命周期
react组件也像vue一样,有data和methods,但是写法就很不同了: <!DOCTYPE html> <html lang="en"> <h ...
- react入门----组件的基础用法
1.组件 <!-- React 允许将代码封装成组件(component),然后像插入普通 HTML 标签一样,在网页中插入这个组件.React.createClass 方法就用于生成一个组件类 ...
- react 实现组件嵌套以及子组件与父组件之间的通信
当子组件触发onChange事件时,实际调用的是父组件中的handelSelect函数,通俗来说就是父组件通过属性handleSelect实现与子组件之间的通信. 父组件:SignupForm 子组件 ...
- React入门---基础知识-大纲-1
-----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...
- 5. React 组件的协同使用 组件嵌套和Mixin
组件是React的核心,构建大型项目时多个组件之间需要进行协同使用.可以从横向和纵向两个角度来实现组件的协同使用,纵向的协同使用就是组件嵌套,横向的协同使用就是Mixin(抽取公共方法 ...
- React创建组件的三种方式比较和入门实例
推荐文章: https://www.cnblogs.com/wonyun/p/5930333.html 创建组件的方式主要有: 1.function 方式 2.class App extends Re ...
随机推荐
- 所谓“脚本(Script)”——个人见解浅谈
编程初学者,在学习的时候总会听人说到或者看到“脚本”这个词汇,我初学的时候也不清楚脚本是什么,所以每每看到有人说你会写“脚本”的时候,总以为是一些高深深奥的编程技术.然而事实正好相反,脚本语言是一种比 ...
- 老李分享:使用 Python 的 Socket 模块开发 UDP 扫描工具
老李分享:使用 Python 的 Socket 模块开发 UDP 扫描工具 poptest是业内唯一的测试开发工程师培训机构,测试开发工程师主要是为测试服务开发测试工具,在工作中要求你做网络级别的安全 ...
- 手机自动化测试:Appium源码之API(2)
手机自动化测试:Appium源码之API(2) TouchAction AppiumDriver的辅助类,主要针对手势操作,比如滑动.长按.拖动等.TouchAction的原理是讲一系列的动作放在 ...
- android.util.Log常用方法
android.util.Log常用的方法有以下5个: Log.v() Log.d() Log.i() Log.w() 以及 Log.e() .根据首字母分别对应VERBOSE,DEBUG,INFO, ...
- iOS 文件下载和打开
最近的项目要用到一个在线报告的下载,于是完成后自己在理一下思路,大体的实现了我要得需求. 话不多说,直接上代码 首先,取到网络文件的链接,进行判段是否需求再次下载还是直接打开 #pragma mark ...
- Bootstrap基础学习(二)—表单
一.表单 1.基本格式 <!-- 基本格式 --> <form> <div class="form-group"> <label>姓 ...
- Rookey.Frame v1.0极速开发平台稳定版发布
Rookey.Frame v1.0经过一年时间的修改及沉淀,稳定版终于问世了,此版本经过上线系统验证,各个功能点都经过终端用户验证并持续优化,主要优化以下几个方面: 1.性能较原来提升3倍之多 2.修 ...
- sizeof 与 strlen
一.sizeof sizeof(...)是运算符,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数等. 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小. 由 ...
- [No0000E9]Microsoft Help Viewer 2.3绿色版
今天没事,提取了一下2017的Microsoft Help Viewer 2.3绿色版,自测没发现什么问题,有问题请后补. 下载地址:http://files.cnblogs.com/files/Ch ...
- js函数中this的指向
本文是我个人对this指向的一些理解,如有不足之处,还望大家可以批评指正,在此先谢过了! 首先,我们来回顾一下ES5里函数的几种调用方式: 1⃣️直接调用 foo(); 2⃣️方法调用 obj.foo ...