来自一位react新手的react入门须知

前言:自己刚刚总结的关于react的知识点,比较简单,大家可以粗略看看。

一:关于react的一些知识点

1,Jsx

所有的html,css都可以写在js中,这就是jsx的用法。

2,生命周期**
  • 渲染组件的时候几个过程
  1. getDefaultProps

  2. getInitialState

  3. componentWillMount // 组件将要被加载之前的操作。如请求数据等

  4. render

  5. componentDidMount(一般在这个阶段各种api的请求等,与redux配合的时候,可以在redux的action获取接口数据。)

  • 组件存在时候
  1. componentWillReceiveProps

    // 常用的用法是父组件的props改变了,需要在子组件中通过这个生命周期获得最新的props,然后setState组建的state

  2. shouldComponentUpdate // 组件是否要重新渲染,默认为真。

  3. componentWillUpdate

  4. render

  5. componentDidUpdate

3,数据的类型验证:PropTypes

用于验证数据的类型是否是满足你的需要,不过我在现有的项目中没有特意的指定数据的propTyoe,因为这些都是前后端约定好的。

此用法如下图 :

image

这个如同vue组件里面的props中的type:Array这个一样

image

4,路由(react-router)

这个与vue-router差不多,大家可以看文档。

react-router的中文官网 : 中文官网

5,父子之间的传递属性
  • 没有使用redux,最简单的(props与state)

  • 使用redux(状态管理): redux中文官网 (差不多70多行代码)

    • mobx(相对于redux较为简单) : mobx;

    • 阿里新出的一个框架Mirror : Mirror;

6,react中获取真实的dom节点 【ref】

因为react与vue一样,都是使用vitural-dom,没有处理dom节点,从而大大提高了页面的渲染效率。

当你想要获取真实的dom节点的时候,可以使用ref,具体的使用,可以看阮一峰的react入门,我下面的todolist的demo里面也会涉及到。

不过在你使用无状态组件申明组件的时候,ref在这个组件中是不能使用的。

7,webpack的使用,既grunt,gulp之后的构建工具

可以通过webpack安装各种依赖,我使用的最爽的一个就是react-hot-loader,就是热更新,非常好用。不过热更新其他的工具,比如browser-sync,下面是一些文档。

8,react的脚手架工具create-react-app

如vue的vue-cli脚手架,create-react-app](https://github.com/facebookincubator/create-react-app),使用以上方法的话,与vue-cli脚手架工具类似

二、学习react(我当时的学习路线)

  1. 第一阶段:

    学习之前,花费了很多时间去配置webpackreact-routerreact-hot-loader,没有使用脚手架。

  2. 第二阶段:

    学习基础的react语法,如下面demo中的todolist,但是不涉及到redux(统一状态管理),这个阶段学的特别快。主要是我上面列的一些知识点(jsx,组件之前数据传递,react-router,PropTypes),最主要的就是一个模块化的概念,个人感觉学过vue的,理解模块化,上手应该是蛮快的。

  3. 第三阶段:

    学习redux,当时是因为组建太多,而数据需要一层一层的传递进去,比较麻烦,就学了redux,讲状态统一管路,在用到的组件直接使用redux调用相应的状态就好了。【这个学习的成本蛮高的,主要是理解,理解了之后使用起来很简单。】

    想快速上手的话,可以学习mobx,这个相对于redux更加简单,但对大型系统的话,redux更好,如果你想快速使用redux做项目开发,可以建议使用相关的框架,我上面也提到了,阿里的ant-design-pro,具体的教程官方都有,这里需要说的一点是,这个框架是配合阿里的redux框架dva使用的。大家有兴趣可以看一下。

我自己的一些总结,单单学react是不难的,难的是要和一些工具混合来用,往往这个过程的成本最高。比如使用webpack构建,redux管理状态,redux-thunk或者redux-saga来处理异步action。

还有一个很大的趋势就是前端变化很快,拿react-router来说,你做了一个项目,react-router@2.0.0是能完美跑起来的,但是换成了当换成了react-router@3.0.0,基本上就跑不起来了,更何况现在的react-router已经出到4.0,

相应的webpack也是这样,当时一些开发者基于webpack1.0开发的,当webpack升到2.0的时候,webpack.config,js里面的文件要重新配置了。现在webpack已经更新到了3.0。

三、关于react的网站

1,各个官网:英语好的话,真的推荐去官网看。

2, 阮一峰的文档:react的入门,webpack的入门,react-router

3,react的一些框架和一些轮子:

3.1 : 有赞团队 : zent;(也是一两个月前刚开源的);

3.2 : 蚂蚁金服:Ant-dedign , Ant-design-mobileant-design-pro;

3.3 : react-weui :react-weui

3.4 : react-awesome : react-awesome

4,一个渐进的学react的demo。

里面基本上涉及到了,react入门的所有涵盖的知识,他都是自己搭的,没有使用脚手架工具。里面也涵盖了webpack的一些配置,对于新手学习蛮好的。

四、小案列(自己前段时间写的一些小demo,比较low,大家可以看看)

1,jquery、vue、react的todolist,最简单的

2,基于ant-dedign的一个react简单的demo

3,基于react写的一个简易大众点评的demo,里面用到了redux,mock,fetch,es6

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 目录 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element★13489 ...
    余生社会阅读 19,660评论 7 233
  • 转载 :OpenDiggawesome-github-vue 是由OpenDigg整理并维护的Vue相关开源项目库...
    果汁密码阅读 23,083评论 8 124
  • 说起鸡蛋,我们都不陌生。各种各样的吃法都有,我身边常有的吃法:紫菜鸡蛋汤、番茄鸡蛋汤、甜白酒鸡蛋、青椒炒蛋、西红柿...
    熠歆阅读 1,417评论 13 15
  • 爱.无界 文/兰兰 无须语言 风雨中相伴 因为有你 不会孤独 心里住着 温暖 总想靠着你 感受慈祥般的母爱 总想跟...
    兰如纯阅读 165评论 0 0
  • IT人很苦逼,这或许是每个人从事IT人的心声。在学习阶段,就需要掌握大量全新的课程,学习几乎占满你大学所有的时间,...
    门前池塘阅读 512评论 0 0