eslint
eslint在项目中使用eslint 可以给我们的代码定义一些语法规范, 防止我们在语法上犯一些低级的错误, 格式上的问题, 团队协作时大家都使用统一的代码风格去书写, 让我们在看别人的代码时更方便.
在项目中安装依赖
12345678"eslint": "^5.8.0","eslint-confi ...
无状态组件的最佳写法
默认渲染行为的问题在React Component的生命周期中,有一个shouldComponentUpdate方法。这个方法默认返回值是true。
这意味着就算没有改变组件的props或者state,也会导致组件的重绘。这就经常导致组件因为不相关数据的改变导致重绘,这极大的降低了React的渲染效 ...
git hook
git hook有时候, 在使用git提交代码的时候, 需要先用语法检查工具来检查项目中是否有不符合规范的语法, 如果有, 就不能提交代码
所以就要 git hook 比如commit 前执行 eslint的检测操作, 如果eslint的语法检查没有校验通过则不能进行提交
要安装 husky 依赖, ...
dva
笔记只有在 router.js 定义使用的 component 对应的 component 才能从组件的 props 中提取到 history 属性
要解决这个问题的话, 对应的组件要使用react-router-dom 的高阶组件 withRouter, 导出时用 withRouter(Compo ...
封装
创建一个类1234567891011121314151617var Book = function(name, id) { this.name = name; this.id = id;}Book.prototype.showName = function() { ...
redux-saga
概述redux-saga是一个用于管理redux应用异步操作的中间件,redux-saga通过创建sagas将所有异步操作逻辑收集在一个地方集中处理,可以用来代替redux-thunk中间件
这意味着应用的逻辑会存在两个地方 (1) reducer负责处理action的stage更新 (2) sa ...
webpack自定义配置
webpack.config.js
123456789101112131415161718192021222324var path = require('path');var webpack = require('webpack');module.exports = { // entry ...
vue-mixin
选项合并当组件和混入对象含有同名选项时,这些选项将以恰当的方式混合。
数据对象在内部会进行浅合并 (一层属性深度),在和组件的数据发生冲突时以组件数据优先。
12345678910111213141516171819202122var mixin = { data: function ( ...
vue-directive
简介在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。
全局自定义指令
12345678// 注册一个全局自定义指令 `v-focus`Vue.directive('focus', { // 当被 ...
vue-computed
什么是computed 计算属性所有的计算属性都以函数的形式写在 Vue 实例内的 computed选项内,最终返回计算后的结果, 用于减少模板中的代码臃肿
用法1234567891011121314151617<div id="app">总价: {{price ...