这是我参与「第四届青训营 」笔记创作活动的第6天
创建react文件
1.全局安装:npm i -g create-react-app
2.切换到想创项目的目录,使用命令:create-react-app hello-react
3.进入项目文件夹:cd hello-react
4.启动项目:npm start
安装react的组件
消息订阅--发布机制
1.工具库 PubSubJS
2.下载:npm install pubsub-js --save
3.使用:
1)import PubSub from 'pubsub-js'
- PubSub.subscribe('delete',function(data){});//订阅
3)PubSub.publish('delete',data)//发布消息
关于react的一些问题
1.react组件的render函数,在哪些时机下,会再次调用
1)每当组件状态改变时,React 都会调度渲染。
2)计划渲染意味着这不会立即发生,React 将尝试为此找到最佳时机。
3)更改状态意味着当我们调用setState 函数时,React触发更新(在 React Hooks中,您可以从获得此 fn useState)。这不仅意味着将调用组件的 render 函数,而且还意味着将重新渲染其所有后续子组件,无论其 prop 是否已更改。
2.React和Vue各有什么优缺点?
React的优点:
1)速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。
2)跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。
3)模块化:为你程序编写独立的模块化UI组件,这样当某个或某些组件出现问题是,可以方便地进行隔离。
4)单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。
5)同构、纯粹的javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。
6)兼容性好:比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。
缺点: React本身只是一个V而已,并不是一个完整的框架,所以如果是大型项目想要一套完整的框架的话,基本都需要加上ReactRouter和Flux才能写大型应用。
Vue的优点:
1)简单:官方文档很清晰,比 Angular 简单易学。
2)快速:异步批处理方式更新 DOM。
3)组合:用解耦的、可复用的组件组合你的应用程序。
4)紧凑:~18kb min+gzip,且无依赖。
5)强大:表达式 & 无需声明依赖的可推导属性 (computed properties)。
6)对模块友好:可以通过 NPM、Bower 或 Duo 安装,不强迫你所有的代码都遵循 Angular 的各种规定,使用场景更加灵活。
缺点:
1)新生儿:Vue.js是一个新的项目,没有angular那么成熟。
2)影响度不是很大:google了一下,有关于Vue.js多样性或者说丰富性少于其他一些有名的库。
3)不支持IE8.
React也是最近几年比较火的框架,大二下学期的时候我主要学习了Vue2.0,开始只学习了怎么去用没有去了解原理,这个暑假去了解一下原理以及学习了Vue3.0,但是现在看好多公司都会问到React,所以我也去学习了一下,但是只是看了一下视频跟住视频敲了一下代码,还没有系统的去用过,所以我们有个创新创业项目,打算用React来写,准备写好一点,这样也可以写到简历上去,下一步就是写项目,加油!