408 1 分钟

# 生命周期 (旧) React 的生命周期可以为两条线,一是初始挂载阶段的生命周期,二是组件状态更新阶段的生命周期。在组件挂载阶段的生命周期只会触发一次,而组件状态更新阶段的生命周期可以多次触发。 在下图中,左边为挂载阶段的生命周期,右边为状态更新阶段的生命周期。 特别说明 componentWillRecevieProps 函数只有在父组件给子组件传递 props 时才会被调用。而 shouldComponentUpdate 则一定会被调用,若我们不自己指定则会默认 return true 。 # 生命周期 (新) 在 React 16.3 中引入了新的生命周期,在旧版生命周期中删除了...
4.7k 4 分钟

# 组件声明 React 中声明组件有两种方式,一是函数式组件,就是把一个函数作为组件的构造器;二是 class 组件,即用 ES6 的 class 语法声明一个类作为组件的构造器。在 16.8 版本以前函数式组件不能使用组件的 state , refs 属性等诸多特性,这使得函数式组件只能用来定义一些简单组件,对于复杂一些的组件只能使用 class 组件。而此版本以后 React 加入了 Hook ,使得函数式组件也能够使用组件的其它特性。官方文档 # 函数式组件 函数式组件中我们只能用 props 属性,定义一个函数式组件只需要创建一个开头为大写字母的函数,然后再将函数最后 return...
2.1k 2 分钟

# Selenium 基本使用 # 简介 Selenium 是一种驱动浏览器的库,它通过调用 Webdriver 来驱动电脑中的浏览器从而使我们可以获得一个真实的浏览器环境而不是模拟浏览器环境获取网页数据。它提供了一系列 API 来帮助我们获取浏览器中的内容。 使用它之前需要下载对应浏览器版本的 Webdriver : Chrome Webdriver Edge Webdriver FireFox Webdriver Safari Webdriver 在合适的目录中放置好 Webdriver 后我们就可以通过 Selenium 调用它,从而获取网页内容。 安装 Selenium : pip...
3.1k 3 分钟

# urllib 基本使用 # 简介 urllib 是 python 内置的一个网络库,我们可以直接导入该库,然后使用它去模拟浏览器向服务器发送请求以获取数据。 # 导入请求对象import urllib.requestbaseUrl = 'http://www.baidu.com'# 通过 baseUrl 发送请求respone = urllib.request.urlopen(url = baseUrl)# 获取回的 respone 为一个对象,调用 read 方法逐字节读取响应数据content = respone.read()# respone.readline ()...
1.6k 1 分钟

# webpack 中的 plugin Webpack 的另一个核心是 Plugin , Loader 是用于特定的模块类型进行转换用于处理资源文件,而 Plugin 可以用于执行更加广泛的任务,比如打包优化、资源管理、环境变量注入等。例如:生成 html 文件、将 js/css 文件插入 html 文件中。 # CleanWebpackPlugin CleanWebpackPlugin 的作用就是每次修改了一些配置,重新打包时,自动删除 dist 文件夹。 安装 CleanWebpackPlugin : npm install clean-webpack-plugin -D 配置...
3.7k 3 分钟

# PostCSS 工具 # 什么是 PostCSS PostCSS 是一个通过 JavaScript 来转换样式的工具,这个工具可以帮助我们进行一些 CSS 的转换和适配,比如自动添加浏览器前缀、css 样式的重置。但是实现这些工具,我们需要借助于 PostCSS 对应的插件。主要用来处理浏览器兼容性问题。 安装 PostCss: npm install postcss postcss-cli -D使用:在 webpack 的配置文件中编写相应的 loader 规则,或者直接在命令行中使用。 因为 postcss 是独立于 webpack 的,所以在 webpack.config.js...
3.8k 3 分钟

# 函数 和 JavaScript 一样,TypeScript 函数可以创建有名字的函数和匿名函数,但是在此基础上 Typescript 支持函数重载。 TypeScript 里的每个函数参数都是必须的。 这不是指不能传递 null 或 undefined 作为参数,而是说编译器检查用户是否为每个参数都传入了值。编译器还会假设只有这些参数会被传递进函数。 简短地说,传递给一个函数的参数个数必须与函数期望的参数个数一致。 JavaScript 里,每个参数都是可选的,可传可不传。 没传参的时候,它的值就是 undefined 。 在 TypeScript 里我们可以在参数名旁使用 ?...
5.8k 5 分钟

# webpack 简介 官方说,webpack is a static module bundler for modern JavaScript applications. 翻译过来:webpack 是一个静态的模块化打包工具,为现代的 JavaScript 应用程序; 我们来对上面的解释进行拆解: p 打包 bundler:webpack 可以将帮助我们进行打包,所以它是一个打包工具 静态的 static:这样表述的原因是我们最终可以将代码打包成最终的静态资源(部署到静态服务器); 模块化 module:webpack 默认支持各种模块化开发,ES Module、CommonJS、AMD...
3.1k 3 分钟

# 类 typescript 里的类和 javascript 里的类基本一样。 typerscript 扩展了类,它可以通过先声明的方式限制实例属性的类型,并且还引入了类似 C++ 、 Java 的继承权限设定,拥有 public 、 protect 、 private 三种修饰符。若不声明权限则默认为 public 修饰符 外部访问 派生类访问 自身访问 public √ √ √ protected × √ √ private × × √ # public public 修饰的属性可以在外部访问,也可以在派生类和自身实例中访问 class Person {...