1.使用 create-react-app 快速构建 React 开发环境

  create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境。

  create-react-app 自动创建的项目是基于 Webpack + ES6 。

  执行以下命令创建项目:

  $ cnpm install -g create-react-app
  $ create-react-app my-app
  $ cd my-app/
  $ npm start 2.安装react-router-dom ,主要用来路由设置,安装完成以后就可以后期使用。 3.接下来需要单独创建一个设置全局路由的js,比如叫做router.js
这个js 里面需要导入react-router-dom模块,
关于react-router-dom的使用需要自行百度。
这个js 返回的是放置所有路由的一个大组件,这个组件替代</app>组件,因为你的任何东西都需要通过路由去展示的,可以看一下:
  render(){
return (
<Router history={history}>
<div>
<Switch>
<Route path={ util.LOGIN_ROUTE } render={() => <Login/>} />
<Switch>
          <Route path={url1} render={() => <layerout id=xxx/>} />
          <Route path={url2} render={() => <layerout id=xxx/>/>
            </Switch> 
</Switch>
</div>
</Router>
);
}
};
返回的这个组件里面是路由适配到以后需要展示render的页面,但是其实这个页面里面的的很多东西都会放到另外一个组建比如上面的layerout组件,当页面路径是url1的时候,会渲染layerout组件,当是url2的时候也会渲染这个组建,但是每个页面里的内容是如何区分,就需要在layerout组件里面根据不同的路由进一步区分。当渲染组件的时候,就可以通过自定义属性给当前的组件内部传入一些需要的参数,比如id,这个组建内部通过props就可以拿到id 。 比如当前页面路径匹配到url1了,那么这个组件会render layerout组件, 那么layerout组件里里面是有什么构成呢?
一般一个页面就是导航区,完了加一个头部,内容区三部分,还有就是页脚。layerout里面就是放这些各个分区的。
render() {
return (
<div>
<navMenu />
<div>
<Header />
<div>
<container />
</div>
</div>
</div>
);
} 到这里很很明显了,你需要展示哪个页面,需要你在container里面根据不同的路由设置不同的组件显示在container里面。
导航的选中与否,其实也是这个原理。 接触没多久react,学习中。


基于react+如何搭建一个完整的前端框架(1)的更多相关文章

  1. 转载自 BotVS 「 珍藏版 」如何搭建一个完整的交易框架

    [img]http://dn-filebox.qbox.me/8c218c119046b2a25df2d9c7b00c1e0fa6899bdd.png[/img]NO:01 交易策略 ≠ 交易系统. ...

  2. 如何基于Spring Boot搭建一个完整的项目

    前言 使用Spring Boot做后台项目开发也快半年了,由于之前有过基于Spring开发的项目经验,相比之下觉得Spring Boot就是天堂,开箱即用来形容是绝不为过的.在没有接触Spring B ...

  3. 吴裕雄--天生自然SSH框架开发:搭建一个完整的SSH框架

    下载jar包 spring框架的jar包:https://repo.spring.io/ hibernate框架的jar包:http://hibernate.org/orm/ struts2框架的ja ...

  4. react全家桶从0搭建一个完整的react项目(react-router4、redux、redux-saga)

    react全家桶从0到1(最新) 本文从零开始,逐步讲解如何用react全家桶搭建一个完整的react项目.文中针对react.webpack.babel.react-route.redux.redu ...

  5. 搭建一个交互式的前端构建环境.md

    为了提高开发效率.减少重复的操作,现在几乎全部的前端项目都需要依赖一些构建工具来实现自动化打包,主流的有webpack, gulp, grunt等.加上各种各样的配置文件就会形成了一个相对复杂的构建环 ...

  6. 利用vue-cli配合vue-router搭建一个完整的spa流程

    好文章备忘录: 转自:https://segmentfault.com/a/1190000009160934?_ea=1849098 demo源码:https://github.com/1590123 ...

  7. 搭建一个完整的Java开发环境

    搭建一个完整的Java开发环境 作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,ecl ...

  8. 放弃antd table,基于React手写一个虚拟滚动的表格

    缘起 标题有点夸张,并不是完全放弃antd-table,毕竟在react的生态圈里,对国人来说,比较好用的PC端组件库,也就antd了.即便经历了2018年圣诞彩蛋事件,antd的使用者也不仅不减,反 ...

  9. asp.netmvc 三层搭建一个完整的项目

    接下来用 asp.net mvc 三层搭建一个完整的项目: 架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案 ...

随机推荐

  1. Java基础教程:HashTable与HashMap比较

    Java基础教程:HashTable与HashMap比较 1.  关于HashMap的一些说法: a)  HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体.HashMap的底层结 ...

  2. 《高性能Javascript》 Summary(三)

    第八章.编程实践 Programming Practices 经验: 避免使用 eval_r()和Function构造器避免二次评估.此外,给setTimeout()和setInterval()函数传 ...

  3. c语言学习的第13天1

    #include <stdio.h> int main(void) { int a[5]={1,2,3,4,5}; printf("%#x, %#x\n",a,& ...

  4. Zookeeper- Error contacting service. It is probably not running解决方案和原理

    搭建启动Zookeeper集群出现Error contacting service. It is probably not running解决方案和原理 1.关闭防火墙  [root@srv01 bi ...

  5. html5常用模板下载网站

    html5常用模板下载网站 开创者素材.站长素材.模板之家 推荐葡萄家园素材网,他们网页模板栏目有个HTML模板,很多静态源码.应该是你所需要的. html静态页面模板 还是服饰素材啊 朋友 设计云 ...

  6. listen 55

    There are also green card qualifiers for some non-citizens who invest in America, and for refugees.难 ...

  7. linux进程学习-进程描述符,控制块

    从数据结构的角度,进程用task_struct结构来描述,称为“进程描述符 (Process Descriptor)”或者“进程控制块(Process Control Block, PCB)”,其包含 ...

  8. 华为USG6500系列

    华为USG6500: ssh 登录配置 time-range 相关配置:<USG6000V1>system-view Enter system view, return user view ...

  9. bzoj 2946 公共串 —— 后缀自动机

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2946 建出 n-1 个后缀自动机一起跑呗. 代码如下: #include<cstdio ...

  10. 如何得到WPF中控件绑定的EventTrigger

    System.Windows.Interactivity.Interaction.GetTriggers(sender as DependencyObject)[0].Actions