React作用:提供jsx的语法糖支持和Component的功能
ReactDom作用:渲染虚拟Dom和控制桌面内容
ReactDom.render(){渲染虚拟Dom,Element元素}
核心概念:组件化!
组件:创建一个构造函数,使用ES6语法。
1 | class App extends Component{ |
01.19分分析state和生命周期的匹配与使用
小心this的指向!
09-14 02 29分 :
插值数组
React作用:提供jsx的语法糖支持和Component的功能
ReactDom作用:渲染虚拟Dom和控制桌面内容
ReactDom.render(){渲染虚拟Dom,Element元素}
核心概念:组件化!
组件:创建一个构造函数,使用ES6语法。
1 | class App extends Component{ |
01.19分分析state和生命周期的匹配与使用
小心this的指向!
09-14 02 29分 :
插值数组
create-React-app是一个全局的命令行工具用来创建一个新的项目
react-scripts是一个生成的项目所需要的开发依赖
一般我们开始创建react应用程序的时候,要自己通过npm或者安装项目的全部依赖,再写webpack.config.js,一系列复杂的配置,搭建好开发环境后写src源代码
现在如果你正在搭建react运行环境,使用create-react-app去自动构建你的程序。你的项目所在的文件夹下是没有配置文件的。react-scripts是唯一的额外的构造依赖
在你的package.json中,你的运行环境将有每一个你需要用来构建一个现代应用程序所需要的依赖,在配置文件中编写的配置代码,React脚本都帮你写了,比如:react-scripts帮你自动下载需要的webpack-dev-server依赖,然后react脚本自己写了一个nodejs服务端的脚本代码start.js来实例化.
WebpackDevServer,并且运行启动了一个使用express的Http服务器,现在你只需要专心写SRC源代码就可以了。省去了很多精力,最适合快速上手一个演示了。
React,JSX,ES6和Flow语法支持。
ES6之外的语言扩展像对象扩展运算符。
直接从JavaScript导入CSS和图像文件。
自动翻译CSS,所以你不需要-webkit或其他前缀。
一个构建脚本来捆绑JS,CSS,和图像进行生产,具有源代码图。
// 引入一个打杂的小弟 生命周期 方法
render(){
// var s = 'abc'
// {} 插值 插槽 <%= %> 插值即可以插变量 也可以插函数
return (
<ul>
<li>1</li>
<li className='li2'>{3>4 ? '真的' : '假的'}</li>
<li>{this.say()}</li>
<li>{111}</li>
<li>{this.state.name}</li>
<li>{this.state.time}</li>
</ul>
)
}
}
//抛出 App
export default App;
stringify: JSON转字符串
toString: 返回原型数组 // 返回字符串
ValueOf: 输出对象
toLocalString: 格式化时间字符串
V-bind用法: 计算属性基于this依赖进行缓存
Computed 与 Method 区别: Computed基于依赖缓存; Method每次都重新计算
1 | for (var i = 0; i < 5; i++) { |
输出结果(第一个5后连续输出五个5)
5 -> 5,5,5,5,5
解读:
定时器为异步宏任务,在JS解释器EventLoop事件队列最末尾。须等待同步任务、异步微任务执行完后执行。
自执行函数表达式
1 | for (var i = 0; i < 5; i++) { |
解释:利用闭包解决ES5没有块级作用域问题
1 | function output(j) { |
解释: JS 中基本类型(Primitive Type)的参数传递是按值传递(Pass by Value)的特征
1 | const tasks = []; // 这里存放异步操作的 Promise |
以往的异步方法无外乎回调函数
和Promise
。但是Async/await
建立于Promise
之上。
新建终端
ctrl
+shift
+~
选择使用空格缩进并配置
ctrl
+k
j
跳转行
ctrl
+g
Multi-Cursor Editing(多光标编辑)
Ctrl+Shift+Alt+下箭头键
,Ctrl+Shift+Alt+右转
,Ctrl+Shift+Alt+UpArrow
,Ctrl+Shift+Alt+LeftArrow
选择一个文本块,你也可以按住Shift+Alt
,选择鼠标文本。Ctrl+Alt+UpArrow
或Ctrl+Alt+向下箭头
,在上面或下面添加一个新的游标,你也可以用Ctrl+Click来在任何地方添加光标。IntelliSense(智能提示)
Line Actions(行操作)
Ctrl+/
来切换注释。Rename Refactoring(更名重构)
函数名
或变量名
。在符号
“Book(例子)”中按F2
重命名所有实例——这将发生在项目中的所有文件中。您还可以在右键单击上下文菜单中看到重构。JSDoc
提示:上面的示例还展示了通过使用JSDoc
注释获得智能感知提示的另一种方法。您可以通过调用Book函数并查看功能和参数的智能感知体验中增强的上下文来尝试这一点。Refactoring via Extraction(!通过提取重构)
编写好的代码
添加到一个单独的函数
中,或者稍后再使用它。选择要提取的行并按Ctrl+.
或者点击这个小灯泡,选择其中的一个提取到……选项。通过在第3行或任何其他您想要提出的通用代码中选择if-子句中的代码来尝试它。Formatting(格式化)
Shift+Alt+F
或格式化的整个文档可以用Ctrl+K Ctrl+F
来应用当前的选择。这两个选项都可以通过右键单击上下文菜单获得。Tip
: 可在扩展库中提供其他格式化程序。格式化支持也可以通过设置来配置,例如启用编辑器。Code folding(代码折叠)
Ctrl+Shift+[
折叠代码-按Ctrl+Shift+]
即可展开。折叠也可以用左边沟中的+/-
图标来完成。按Ctrl+Shift+Alt+[
或按Ctrl+Shift+Alt+]
折叠所有部分。Errors and Warnings(错误和警告)
F8
,你可以按顺序浏览它们,并看到详细的错误信息。当您纠正它们时,弯角和滚动条指示器将会更新。Snippets(片段)
建议列表
和按Tab
中选择trycatch
来创建一个try->catch块
。您的光标将被放置在文本错误,以方便编辑。如果有多个参数存在,则按Tab键跳到它。只要父元素的posiiton
设置为relative
,子元素的位置就是相对于父元素的,这样设置子元素的bottom
为0
,即可将子元素置于父元素底部。
1 | .parent{ |