react-1
react
- 创建方法
- 首先确定你的电脑上面已经安装了node和npm
- 检查方法:window键 输入cmd 输入node -v 或者 npm -v
- 在全局安装create-react-app这条命令 可以帮助你快速搭建react环境
1. npm i -g create-react-app
- 创建完成后
create-react-app (你要创建项目的名字)
成功后
cd (你创建项目的文件夹)
npm start
此时你会发现已经有一个react项目打开了在你的浏览器中
那在你构建的项目中有几个文件夹以及文件 比如README,node_moudles,srcc,pubilc 等等。
那么public中的index.html是根目录所有的组件都会汇集于此
那么在src中就是我们构建不同组件等的文件夹 里面必须包含一个index.js文件,你可以把他理解成一个容器, 装什么的呢?是用来一如所有你构建的组件的汇集于此而后导入public中的index.html中
那么下面开始实现以下简单的操作 "hello word"
import React from "react";
import ReactDOM from "reacvt-dom";
ReactDOM.render('hello word',document.getElementById("app"))
此时呢,在你启动的浏览器的页面上不出意外的话就会显示出hello word的字样了
那这是传入一个字符串 ,那么问题来了 组件化 这也没有组件化啊?
那么我们在src文件夹下面在建立几个文件 比如 Hello.js , Word.js , Person.js
在Hello.js中写
import React,{Component} from "react";
// Component 为组件的意思 它是react中的方法 利用es6的方法引入进来
// 那么这个是hello组件 所有就要导出啊
export default Hello class extends Component{
// 这里面有个render方法
render(){
return(
<div>
Hello
</div>
)
}
}
这里面的语法是不是很奇怪 在js中写html 这就是react伟大的Jsx语法 为Javascript与xml的结合
在Word.js中写
import React,{Component} from "react";
// Component 为组件的意思 它是react中的方法 利用es6的方法引入进来
export default Word class extends Component{
// 这里面有个render方法
render(){
return(
<div>
Word
</div>
)
}
}
在Person.js中写
import React,{Component} from "react";
// Component 为组件的意思 它是react中的方法 利用es6的方法引入进来
export default Person class extends Component{
// 这里面有个render方法
render(){
return(
<div>
Person
</div>
)
}
}
那么好 现在我们的组件已经算是写完了 我们也exprot default 默认导出了,那么谁引入呢?对 就是src下的index.js文件
import React from "react";
import ReactDOM from "react-dom";
//在这里我们将引入 我们刚刚写的三个组件
// 组件的文件首字母必须大写
import Hello from "./Hello.js";
import Word from "./Word.js";
import Person from "./Person.js";
//ok 现在已经引入了 然后呢 ?
ReactDOM.render(
<div>
<Hello/>
<Woed/>
<Person/>
</div>
document.getElementById('root')
)
//这里呢 就是若是多个组件的情况下 最外层必须有且只有一个父级盒子包裹
这时候在你的浏览器页面上就会输出了
Hello
Word
Person
也就是你三个组件中的内容了。
react-1的更多相关文章
- react组件的生命周期
写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...
- 十分钟介绍mobx与react
原文地址:https://mobxjs.github.io/mobx/getting-started.html 写在前面:本人英语水平有限,主要是写给自己看的,若有哪位同学看到了有问题的地方,请为我指 ...
- RxJS + Redux + React = Amazing!(译一)
今天,我将Youtube上的<RxJS + Redux + React = Amazing!>翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: https:/ ...
- React 入门教程
React 起源于Facebook内部项目,是一个用来构建用户界面的 javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内 ...
- 通往全栈工程师的捷径 —— react
腾讯Bugly特约作者: 左明 首先,我们来看看 React 在世界范围的热度趋势,下图是关键词“房价”和 “React” 在 Google Trends 上的搜索量对比,蓝色的是 React,红色的 ...
- 2017-1-5 天气雨 React 学习笔记
官方example 中basic-click-counter <script type="text/babel"> var Counter = React.create ...
- RxJS + Redux + React = Amazing!(译二)
今天,我将Youtube上的<RxJS + Redux + React = Amazing!>的后半部分翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: ht ...
- React在开发中的常用结构以及功能详解
一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...
- React的使用与JSX的转换
前置技能:Chrome浏览器 一.拿糖:React的使用 React v0.14 RC 发布,主要更新项目: 两个包: React 和 React DOM DOM node refs 无状态的功能 ...
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
随机推荐
- vue关于路由容易忽略的点
1.去掉导航里的# 在router.js中 export default new Router{ mode:'history' } 2.指定激活项的class 在router.js中 export d ...
- LLVM使用其他Pass的结果
之前的工作一直集中在clang中,最近有点空闲时间,又重新熟悉了一下Pass的书写过程.(参考LLVM CookBook和http://llvm.org/docs/WritingAnLLVMPass. ...
- Delphi 执行线程对象
- 【异常】 Could not find Linker 'g++' in system path.
1 详细异常 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':az-ex ...
- 【异常】hbase启动后hdfs文件权限目录不一致,导致Phoenix无法删除表结构
1 异常信息 Received error when attempting to archive files ([class org.apache.hadoop.hbase.backup.HFileA ...
- 前端基础(五):jQuery
jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交互, ...
- 《浏览器工作原理与实践》<05>渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?
在上一篇文章中我们介绍了导航相关的流程,那导航被提交后又会怎么样呢?就进入了渲染阶段.这个阶段很重要,了解其相关流程能让你“看透”页面是如何工作的,有了这些知识,你可以解决一系列相关的问题,比如能熟练 ...
- CAFFE(0):Ubuntu 下安装anaconda2和anaconda3
这个步骤可以看做是安装caffe可以进行或者不必要的步骤,不过笔者建议安装anaconda2和anaconda3,里面会包含很多的模块,省去caffe学习过程中出现模块不存在的各种错误. 第一步.进入 ...
- 解决故障码400,“”The plain HTTP request was sent to HTTPS port“”
Nginx HTTP服务器的报错"400 Bad Request: The plain HTTP request was sent to HTTPS port",本文将讲解如何解决 ...
- 01_Redis简述
一:关系型数据库和非关系型数据库的区别: 1:关系型数据库(SQL):数据和数据之间,表和字段之间,表和表之间是存在关系的: 优点:数据之间有关系,进行数据的增删改查时非常方便的:关系型数据库有事务操 ...