React

(转)React事件处理函数必须使用bind(this)的原因

1.JavaScript自身特性说明如果传递一个函数名给一个变量,之后通过函数名()的方式进行调用,在方法内部如果使用this则this的指向会丢失。示例代码:首先我们创建test对象并直接调用方法 : const test = { name:'jack', getName:function(){ console.log(this.name) }}test...

React生产环境打包&&后台环境运行(有跨域+无跨域)

(1)打包项目 1、yarn run build或者2、npm run build   打包后,webpack会自动在根目录生成build文件,里面存放着相关文件    (2)运行打包项目&&跨域分析   1) 与服务器端项目独立运行 问题: 存在 ajax 请求跨域问题 解决: 由服务器端工程师配置代理服务器(前端工程师不用亲自操作)  ...

Webpack+Gulp+React+ES6开发

前言 webpack是模块加载器+打包工具的集大成者。开发React堪称利器,jsx语法、es6,混淆、模块加载都很智能且功能强大,但是对于css、图片的加载器还不是像grunt/gulp那么丰富易于修改编辑,功能上略微不是那么方便,例如css中的图片地址修改或是需要替换cdn路径,图片压缩在webpack下修改极为不方便。所以用webpack模块加载编译...

React Native、Cordova开发必备的阿里源

maven { url "https://maven.aliyun.com/repository/public"}maven { url "https://maven.aliyun.com/repository/google"}maven { url "https://maven.aliyun.com/repository/gradle-...

react 配置ant时遇见的一个Error: Multiple configuration files found. Please remove one: – package.json#babel – .babelrc 解决方案

这个问题是create react app 里面的package.json里面已经配置了   "babel": {     "presets": [       "react-app"     ]   } 这样的配置,但是又在根目录下建立了一个babelrc的文件,所以导致重复,但是不可以直接删掉,不然报   编译失败 ./src/index.jsS...

Reactv16.8.6生命周期函数

组件生命周期函数 React 主动调用的方法,也可重写这些方法 生命周期图谱 当组件实例被创建并插入 DOM 中时,其生命周期调用顺序如下: constructor(props) 如果不需要初始化 state 或 不进行方法绑定,则不需要使用该方法 在组件挂载之前会先调用该方法,在实现构造函数时必须先调用super(props)方法,否则会出现BUG通常,...

React native随笔——解决navigation导航栏 android和ios样式不统一

navigation导航栏存在android和ios样式不统一的问题。Android手机上标题不居中,导航栏与状态栏重合。 解决方法为在navigationOptions中进行如下配置。 一、Android中标题不居中 headerTitleStyle: { alignSelf: 'center', textAlign: 'center', f...

为什么react的组件要super(props)

  对这个问题纠结了好几天,一直没时间深入研究。在segmentfault看到有人提出了同样的问题,下面这篇SF给出了解释。为什么react的组件要super(props) 解释一:  调用super的原因:在ES6中,在子类的constructor中必须先调用super才能引用this super(props)的目的:在constructor中可以使用...

使用 dumi 打包 React 组件库并生成文档站点

对于前端团队来说,公共组件库是必须的,紧接着就是完善组件库的文档 社区里关于快速生成文档的工具有很多,如 StoryBook、Docz、Gatsby 在调研了几种文档工具之后,最终我选择了 umi 家族的另一个成员:dumi 因为它集成了 docz,以及打包工具father-build,同时支持创建自己的Markdown 组件 当然最重要的是,我的项目是基...

第3章 从Flux到Redux

第3章 从Flux到Redux 3.1 Flux 单向数据流,React是用来替换Jquery的,Flux是以替换Backbone.js、Ember.js等MVC框架为主的。 actionTypes.js定义action类型; actions.js定义action构造函数,决定了这个功能模块可以接受的动作; reducer.js定义这个功能模块如何响应ac...