目录结构

  下面是使用npx create-react-app web-app来创建的一个项目(已经删除了多余的文件)

web-app
├── node_modules
│   ├── .......
│   └── .......
├── package-lock.json
├── package.json
├── public
│   └── index.html
└── src
├── App.js
└── index.js

  其中node_mudole是保存各种库的目录,比如babel、react、react-dom

  

自定义组件

//导入react库
import React from 'react'; //定义一个组件(需要继承React.Component)
class App extends React.Component { //每组件必须要有一个render方法,return的内容就是该组件要展示的内容
//如果没有render方法,将会报错
render() {
return (
<div>
hello world
</div>
);
}
} //组件定义之后,要导出之后,在其他地方才能使用该组件
export default App;

  

使用组件

  使用组件的方法,很简单,就是<组件名 />的格式即可。

  比如在src/index.js中是这样使用组件的,

import React from 'react';
import ReactDOM from 'react-dom'; //导入自定义的组件
import App from './App'; //以<组件名/>的形式使用组件
ReactDOM.render(<App />, document.getElementById('root'));

  对于导入、导出组件的相关知识,可以参考:node基础 npm、module、exports、require

JSX(babel)

  在jsx的语法里面,可以使用js的表达式,注意是表达式,不是语句,比如if(1){return 2}是一个语句,并不是一个表达式

  至于判断是不是一个表达式,可以这样做:如果可以将其放在if或者while的条件判断位置,那么就是一个表达式,而不是一个语句。

  比如 1+2, 3>5都是表达式

  表示这样还不够,js的表达式要写在{  } 里面,jsx才会认得,比如下面这种情况:

render() {
return (
<div>
{ "hello " + "react " } //正确
hello world
{1+2} //正确
{if(1+2){return 123}} //错误
</div>
);
}

  注意上面的内容都是写在一个div里面,其实使用return返回出去的就是一个jsx对象,并且只能返回一个jsx对象,如果向下面这种情况,是返回两个jsx对象,会出错的:

render() {
return ( //出错,因为一次性只能返回一个jsx对象,下面的写法是返回两个jsx对象
<div>one</div>
<div>two</div>
);
}

  可以将两个jsx对象包含在一个div中,就可以解决问题了:

render() {
return ( //正确
<div>
<div>one</div>
<div>two</div>
</div>
);
}

  

分析一个react项目的更多相关文章

  1. React环境配置(第一个React项目)

    使用Webpack构建React项目 1. 使用NPM配置React环境 NPM及React安装自行百度 首先创建一个文件夹,the_first_React 进入到创建好的目录,npm init,然后 ...

  2. 从零开始搭建一个react项目

    Nav logo 120 发现 关注 消息 4 搜索 从零开始搭建一个react项目 96 瘦人假噜噜 2017.04.23 23:29* 字数 6330 阅读 32892评论 31喜欢 36 项目地 ...

  3. 如何架构一个 React 项目?

    编程有点像搞园艺.比起竭力去对付BUG(虫子),我们更愿意把一切弄得整洁有序,以免最后落得个身在荒野丛林中.低劣的架构会拖我们的后腿,也会使得BUG更容易钻进系统里去. 想要对你的项目进行架构,方法有 ...

  4. react 工程起步 安装chrome 开发调试工具 react developer tools 及初建一个react 项目...

    1.安装react 开发工具 1.下载    chrome      react developer tools 下载地址:https://pan.baidu.com/s/1eSZsXDC  下载好是 ...

  5. 脚手架创建一个React项目

    一.安装 1.安装node.js 官网地址 https://nodejs.org/en/ 进入后点击下载,官方网站会根据你的系统类型推荐最适合你安装的版本.(如果已经安装了node.js跳过此步)如下 ...

  6. 如何从0创建一个react项目

    1. 确保本机电脑安装了yarn和node: 2. 在需要安装的文件夹目录下输入:create-react-app  +(项目名称): PS:上图使用的软件为webStorm 3. 此时一个简单的re ...

  7. 重度使用示波器进行优化分析——一个DSDA项目回顾

    这是若干年前一个项目,最近有时间整理一下.回忆起来,印象最深刻的就是重度使用示波器辅助分析,进行优化. 项目背景是在原有项目3G+项目基础上,增加一颗2G+ Modem,使支持DSDA功能. 在介绍D ...

  8. 重度使用示波器进行优化分析——一个DSDA项目回顾

    这是若干年前一个项目,最近有时间整理一下.回忆起来,印象最深刻的就是重度使用示波器辅助分析,进行优化. 项目背景是在原有项目3G+项目基础上,增加一颗2G+ Modem,使支持DSDA功能. 在介绍D ...

  9. 初始化一个React项目(TypeScript环境)

    React将由三部分组成,其中,Redux是应用状态管理服务,React-Router用于路由映射,React View用于显示界面. 我们使用Facebook推荐的create-react-app来 ...

随机推荐

  1. flex布局大讲解

    http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

  2. (转)Spring Boot(十七):使用 Spring Boot 上传文件

    http://www.ityouknow.com/springboot/2018/01/12/spring-boot-upload-file.html 上传文件是互联网中常常应用的场景之一,最典型的情 ...

  3. C#中Request.ServerVariables详细说明及代理

    Request.ServerVariables("Url") 返回服务器地址 Request.ServerVariables("Path_Info") 客户端提 ...

  4. 【BZOJ2117】 [2010国家集训队]Crash的旅游计划

    [BZOJ2117] [2010国家集训队]Crash的旅游计划 Description 眼看着假期就要到了,Crash由于长期切题而感到无聊了,因此他决定利用这个假期和好友陶陶一起出去旅游. Cra ...

  5. [matlab] 4.M函数

    函数文件的编写 新建一个函数文件 函数的第一行的格式 :function [输出的参数] =函数名 (输入的参数) 输入和输出的参数可以有多个 保存函数文件的时候,注意文件名要和函数名一样 函数头和函 ...

  6. java实现随机四则运算

    使用JAVA编程语言,独立完成一个包含3到5个数字的四则运算练习,软件基本功能要求如下: 程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个 ...

  7. 【转】具透 | 你可能不知道,iOS 10 有一个中国「特供」的联网权限功能

    9 月底,苹果正式在北京成立了苹果中国研发中心.近几年,我们也在每年更新的 iOS 系统中不断看到,苹果对中国市场的关照.从早前的九宫格输入法,到最近的骚扰电话拦截,都照顾了国内用户的需求. 在 iO ...

  8. 002_关于six版本过低报cannot import name urllib_parse的问题

    一. 参考:https://github.com/Parsely/pykafka/issues/222 [root@jyall.com tmp]#python check.py #报错如下 Trace ...

  9. Linux 创建静态库(.a)和动态库(.so)

    0. 回顾一下 gcc 选项 ============================================== -E : 仅做预处理,例如去注释,宏展开,include 展开等 -S : ...

  10. github 遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts问题解决

    刚开始使用github的时候不是很了解,新手一般的都会遇到这个问题Permanently added the RSA host key for IP address '192.30.252.128' ...