来构建用户界面的库,不是框架 关注于view层 虚拟DOM 单向数据流 JSX这些概念
下载文件 react react-dom browser.min.js 也能够使用nodejs,须要用到的模块 webpack babel react react-dom
JSX是React编写组件的一种语法规范,能够看为是js的扩展,它支持将HTML和JS混写在一块儿, 最后使用babel编译为常规的js,方便浏览器解析
使用 ReactDOM.render()
React.createClass()
给组件传递数据javascript
props props的值是不可变的 语法糖{...this.props}
组件间的嵌套css
使用 props传递数据 但是数组存组件结构 map方法的使用
事件event处理html
在元素上添加事件处理 onCLick onMouseOver onMouseOut class => className style的设置
改变组件的状态java
state setState后组件状态发生改变,DOM会从新渲染
组件间的通讯node
父子级可以使用props传递函数的形式通讯 不是父子级或多级嵌套通讯 使用Pub/Sub模式通讯
react实现的留言板,提交留言可显示在页面的留言列表中 知识点: react的基本知识点 React.createClass 建立组件函数 ReactDOM.render 渲染组件 props 获取传递的数据(不可变) state 组件状态(可变,立马渲染DOM) onClick 事件 组件间的通讯 Pub/Sub模式 发布/订阅模式 componentDidMount 组件渲染后触发的函数 webpack + babel + react 作到改变组件不刷新页面就能够显示结果 主要模块的用法,如: webpack webpack-dev-server css-loader style-loader html-webpack-plugin插件的使用 babel babel-preset-es2015 babel-preset-react react react-dom react-hot-loader</font> webpack + babel + react 配置及使用
npm init 建立package.json文件
npm install <module-name> -g/--save-dev/--save 安装模块
npm update <module-name > 更新模块
npm uninstall <module-name > 卸载模块react
特色:webpack
查找依赖,打包成一个文件 支持CommonJs和AMD模块 把各类资源都当作模块,用对应的加载器处理 丰富的和可扩展的插件
官网http://webpack.github.io/
安装git
npm install webpack -g 安装后使用webpack命令
webpack.config.js文件配置项:es6
entry:配置入口文件 output:配置输出文件路径及文件名 module:模块配置 loaders:加载器配置 devServer:配置服务 plugins:配置插件
loader加载器:github
css-loader、style-loader : 处理css文件和样式 babel-loader:转换es6语法为es5语法
插件:
html-webpack-plugin:生成html文件
使用webpack-dev-server服务
使用babel做用:转换es6语法为es5语法
官网:http://babeljs.io/
安装:
npm install babel-cli -g 安装后使用babel命令
let const申明变量 箭头函数Arrow Functions class import from extends
react用于构建用户界面的javascript库
安装:
npm install react react-dom --save
用bebel编译jsx语法,使用模块:
npm install --save-dev babel-preset-react
使用react热加载模块,作到文件改动页面自动刷新
安装: npm install --save-dev react-hot-loader
综合实例:todoList例子
分析todolist总体实现思路 利用MVC的思路整合代码 主要功能: 回车添加内容 能够对内容进行toggle选中操做 删除选项 用LocalStorage对数据进行存储(刷新记录)
github地址:https://github.com/eve0803/webpack-babel-react-test