随手记录
1. 随手记
-
Babel是一个转码器,可以将ES6代码转换为ES5代码,从而在现有环境下执行。
-
定位 尺寸 浮动 布局 BFC(触发特性)flex grid 文档流 浮动流 绝对定位 圣杯布局(双飞翼布局)
-
hybrid webapp 移动混合式应用 ionic+cordova+agJS
2. React笔记
-
React是一个JavaScript库。
-
React,当你遇到需要同时获取多个子组件数据,或者两个组件之间需要相互通讯的情况时,把子组件的 state 数据提升至其共同的父组件当中保存。之后父组件可以通过 props 将状态数据传递到子组件当中。这样应用当中的状态数据就能够更方便地交流共享了。
-
浅拷贝方法
.slice()
,受控组件,不可变性(方便实现撤销/重做,时间旅行;记录变化;在React中判定何时重新渲染),纯组件,函数定义组件。 -
React 元素事实上都是 JS 当中的对象,我们可以把元素当作参数或定义到变量中使用。
-
在 React 当中渲染多个重复的项目时,我们一般都以数组的方式传递 React 元素。最基本的方法是使用数组的 map 方法。
-
key 是 React 当中使用的一种特殊的属性(除此之外还有 ref 属性)。当元素被创建时,React 会将元素的 key 值和对应元素绑定存储起来。尽管 key 看起来像是 props 的一部分,可是事实上我们无法通过 this.props.key 获取到 key 的值。React 会自动的在判断元素更新时使用 key ,而组件自己是无法获取到 key 的。假如你不提供任何 key 值,React 会提示警告,并且默认使用数组的索引作为默认的 key 。组件的 keys 值并不需要在全局都保证唯一,只需要在当前的节点里保证唯一即可。
-
组件名称必须以大写字母开头。组件的返回值只能有一个根元素
3. JS开发笔记
- 平稳退化,分离js,向后兼容,性能考虑(精简副本)。
4. npm命令相关
- 如果改了package.json,且package.json和lock文件不同,那么执行
npm i
时npm会根据package中的版本号以及语义含义去下载最新的包,并更新至lock。如果两者是同一状态,那么执行npm i
都会根据lock下载,不会理会package实际包的版本是否有新。