react 开发

总结下过去一年的 react 开发经历

用的是 flux 开发流程,中间穿插一些 emitter,大体上是服从下图规范

flux 开发是以广播形式进行 trigger 的,通过 AppConstants 注册监听语句,UIActions 注册触发函数,AppDispatcher.register接收事件,根据UIActions 的  actionType 是否等于 AppConstants 的语句块来判断是否触发对应逻辑。

比较好用的 react 插件有 react-modal, rc-slider, react-number-input, react.pure.component

react router 单独拿出来说,在 componentDidMount生命周期内,可以通过以下语句注册routerWillLeave

this.props.router.setRouteLeaveHook(this.props.route, this.routerWillLeave);

这个的意义在于可以在<Link /> 触发跳转之前给予判断跳转条件,返回 false 则不跳转,默认返回 true
对于 react.pure.component 的使用,若当前组件内的 state 对象有多层嵌套则不建议使用,PureComponent 组件的刷新当且仅当自身的state,或者 props改变时触发,作用是
避免组件状态无更改的刷新,这类刷新通常出现在子组件嵌套在父组件当中例如

<Father>
  <Child />
</Father>

其中如果 Child 不是 PureComponent,那么 Father 状态更改了,Child 没有更改,Father 刷新了,Child 也就跟着刷新了,这个就是性能的浪费。

当然如果不用 PureComponent 就需要在 ShouldComponentUpdate(nextProps, nextState) 这个生命周期当中进行判断当前组件是否需要刷新。

另一个问题是 react 对数组 array 循环渲染时 key 的设置,切勿用1234567 这样的序号设置,出现问题是在array 出现删除元素的时候,会有一定概率出现渲染并未改变的问题,而且这个问题较难排查。

时间: 2024-10-10 06:42:09

react 开发的相关文章

【React】使用 create-react-app 快速构建 React 开发环境

create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + ES6 . 1.$ cnpm install -g create-react-app 2.$ create-react-app my-app 3.$ cd my-app/ $ npm start 项目目录 create-react-app 执行慢的解决方法

Atom编辑器折腾记_(23)加快React开发的插件汇总【浪一波】

前言 汇总下比较实用的atom插件[偏react开发的]-- 暂时应该没有比我更全面的!嘎嘎 atom-react-autocomplete–项目内,组件名及状态的自动补全 autocomplete-js-import–模块导入智能提示 emmet-jsx-css-modules– React内的Emmet补全,非单纯的expand[class => className ]!! language-javascript-jsx – JavaScript, ES6, ES7, React JSX,

React开发和模块管理的主流工具——Webpack

webpack 前端模块管理和打包工具 原址:http://www.infoq.com/cn/articles/react-and-webpack CommonJS和AMD是用于JavaScript模块管理的两大规范,前者定义的是模块的同步加载,主要用于NodeJS:而后者则是异步加载,通过requirejs等工具适用于前端.随着npm成为主流的JavaScript组件发布平台,越来越多的前端项目也依赖于npm上的项目,或者自身就会发布到npm平台.因此,让前端项目更方便的使用npm上的资源成为

Webpack + React 开发 01 HelloWorld

1.项目依赖 安装所需要依赖的其它第三方开源库,项目依赖如下: "dependencies": { "babel-core": "^6.21.0", "babel-loader": "^6.2.10", "babel-preset-es2015": "^6.18.0", "babel-preset-react": "^6.16.0&quo

phpstorm配置react开发环境

phpstorm配置react开发环境 打开 file->setting->Plugins搜索安装 react-templates和jscs插件file->setting->Preferences -> Languages and Frameworks -> JavaScript -> language version下拉框里选JSX Harmony此时新建一个js文件就直接支持jsx语法了

React开发神器Webpack

编者按:自2013年Facebook发布以来,React吸引了越来越多的开发者,基于它的衍生技术,如React Native.React Canvas等也层出不穷.InfoQ精心策划“深入浅出React”系列文章,为读者剖析React开发的技术细节. 上一篇我们对React有了一个总体的认识,在介绍其中的技术细节之前,我们首先来了解一下用于React开发和模块管理的主流工具Webpack.称之为React开发神器有点标题党了,不过Webpack确实是笔者见过的功能最为强大的前端模块管理和打包工具

Webpack + React 开发 03 props

React中组件的用法与原生的 HTML 标签完全一致,可以任意加入属性,比如 <HelloWorld name="John"> ,就是 HelloWorld 组件加入一个 name 属性,值为 John.和直接使用 <div name="John"> 不同,React组件被渲染出来之后,在渲染之后的dom节点中是不能直接看得到 name 属性的,怎么获取呢?组件的属性可以在组件类的 this.props 对象上获取,比如 name 属性就可

react开发中的总结技巧

经过一段时间的react开发,自己总结了一些小习惯,自动构建webpack #### 1. 组件命名文件夹 一个组件一个文件夹,可读性高,结构清晰 ```js 文件夹:Danamic(组件首字母大写) index.jsxstyle.lessdata.js ```引用 : import Danamic from './Danamic' webpack能自动识别文件夹内index文件 (index首字母只能小写) React 的 JSX 里**约定分别使用首字母大.小写来区分本地模块的类和 HTML

Webpack笔记(二)——搭建React开发环境

前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一下昨天发布的笔记:入门webpack笔记 一.初始化项目文件夹 在任意目录下,新建一个文件夹作为你的项目文件夹,命名随意.随后使用命令行工具,切换到该文件夹,键入npm init进行初始化(遇到的问题一直回车就好了),初始化完成之后可以看到生成了一个package.json文件. 随后在该项目文件夹