1. React 使用

1.1. state VS prop

参考 动态交互式用户界面

大部分组件的工作应该是从 props 里取数据并渲染出来。但是,有时需要对用户输入、服务器请求或者时间变化等作出响应,这时才需要使用 State。

原则上不可修改 props

1.2. Refs

参考 对组件的refs

Refs是一种很好的发送消息给特定子实例(通过流式的Reactive props 和 state来做会不方便)的方式。

1.3. Inline Styles

1.4. 搭建环境

  • 在用户第一次访问页面时,由服务端路由处理,输出相关页面内容
  • 客户端用户点击链接跳转,由客户端路由处理,渲染相关组件并展示
  • 用户在前端跳转后刷新页面,此时被服务端路由截获,并由服务端处理渲染并返回页面内容

参考

参考项目

1.4.1. 初始化 package.json

npm init

1.4.2. eslint

npm install --save-dev eslint
npm install --save-dev eslint-plugin-react

1.4.3. WebStorm

  • Preferences > Languages & Frameworks > Node.js and NPm > Node interperter:v6.9.1 | enable Node.js Core library
  • Preferences > Languages & Frameworks > JavaScript > JavaScript language version > React JSX
  • Preferences > Languages & Frameworks > JavaScript > Code Quality Tools > ESLint > Enable

1.4.4. Koa2

npm install --save koa@next
npm install --save koa-router@next
npm install --save koa-favicon@next
npm install --save koa-logger@next
npm install --save koa-compress@next
npm install --save request

1.5. react

npm install --save react
npm install --save react-dom

1.5.1. gulp

npm install -g gulp
npm install --save-dev gulp-babel
npm install --save-dev gulp-changed
npm install --save-dev gulp-clean-css
npm install --save-dev gulp-htmlmin
npm install --save-dev gulp-imagemin
npm install --save-dev gulp-livereload
npm install --save-dev gulp-plumber
npm install --save-dev gulp-react
npm install --save-dev gulp-rename
npm install --save-dev gulp-rev
npm install --save-dev gulp-rev-collector
npm install --save-dev gulp-sass
npm install --save-dev gulp-sourcemaps
npm install --save-dev gulp-uglify
npm install --save-dev gulp-watch
npm install --save-dev imagemin-pngquant
npm install --save-dev run-sequence

1.5.2. webpack

npm install --save-dev webpack

1.5.3. babel

npm install -g babel-cli
npm install -g babel-node
npm install --save babel-polyfill
npm install --save-dev babel-core
npm install --save-dev babel-eslint
npm install --save-dev babel-plugin-transform-async-to-module-method
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-0

1.5.4. other

npm install --save bluebird

results matching ""

    No results matching ""