23
May
HOOK
在不编写 class 的情况下使用 state 以及其他的 React 特性时需要使用hook。Hook 是一些可以让你在函数组件里“钩入” React state 及生命周期等特性的函数。Hook 不能在 class 组件中使用 —— 这使得你不使用 class 也能使用 React。
useState()
这个用法很简单,用来定义state
const [count, setCount] = useState(0);
定义一个叫count的变量,默认值是0,通过setCount来修改它值
useState()中传入count的默认值。
useEff......
高阶组件
高阶组件是参数为组件,返回值为新组件的函数。
他把组件中可以复用的逻辑提取出来作为一个抽象组件。如果某个组件需要这段逻辑,就用高阶组件*套在*它的外面来形成一个新的组件,这个组件拥有自己的逻辑和一些高阶组件的逻辑。const HocComponent = WithHoc(originComponent)。HocComponent就是对外的组件名了。HOC 是纯函数,没有副作用。他是一个普通函数,可以根据需要对参数进行增添或者删除。
// withSubscription是一个高阶组件,CommentList 和 BlogPost 是需要用到这段逻辑的组件。第二个参数是......
22
使用场景不一样
require/exports是CommonJS规范,node环境使用,浏览器不支持,需要打包工具转
import/export是ES6规范,浏览器环境通过<script type='module'>使用,node中官方不建议使用。使用的话也是babel转成CommonJS
模块机制不一样
require是运行时加载,import是编译时输出接口。
commonJS模块
因为 CommonJS 加载的是一个对象(即module.exports属性),该对象只有在脚本运行完才会生成。--阮一峰
commonJS中,每个模......
07
//冒泡排序:两两比,大的放后面,一轮过去,最大的排在了最后面,前面的再按这种方法比,直到从小到大排列
function bubble(arr,n) {
for(let i = 0;i<n;i++) {
if(arr[i]>arr[i+1]) {
[arr[i],arr[i+1]] = [arr[i+1],arr[i]]
}
function bubbleSort(arr){
for(let i = arr.length-1;i>0;i--){
bubble(arr,i)
return arr
let bubbleArr = bubbleSort([0,......
06
在开发中,我们前端和后端进行数据传输经常使用json的格式,http头部的content-type为application/json。
但是,当表单提交的时候,content-type变成了application/x-www-form-urlencoded或者multpart/form-data
那application/x-www-form-urlencoded和multpart/form-data有什么区别呢?都是在什么时候用呢?
先说结论,如果你有大量的(非字母数字non-alphanumeric)数据(或相当大的payload)要传输,用multpart/form-data......