一些备忘

1 - 回调函数,接收的参数排在原来回调传递的参数前面 (组件的callback传的参数,排在内部传的参数之前)。

2 - cookie是服务器设置的。如果服务器设置了cookie,浏览器会把返回来的cookie存在本地。

在同源的页面里,浏览器会自动带上本地有的cookie在发送请求的时候一同发送到服务器。

如果是跨域的页面,前端需要设置http中的Access-Control-Allow-Credentialstrue

3 - React里有两种组件,一种叫无状态组件,就是一个返回一个JSX element的函数,只能接受来自父组件的props,没有this;

另外一种是有状态组件,就是在React.Component上的拓展类,应用react的各种生命周期函数和state,就是常用的那种组件。

4 - React中的高阶组件(higher-order conponent),就是函数中传入一个组件,然后返回一个新的组件。

有好几种实现方式。

1)组合:就是传入一个组件后,透传props,然后在返回一个新的组件。新组件跟原组件没有任何关系,是两个独立的组件。所以新组件也不会带上原组件的任何state,如果需要将state传递,需要通过props传递

2)继承:传入一个组件后,在传入的组件上做扩展,返回一个新的组件,新组件是原组件的子类,他们之间是父子关系。所以新组件继承原组件的方法和状态,也就是state是可以直接在新组件里访问到。只要HOC存在,他们就一直存在继承关系,如果移除了HOC,他们的之间的继承就中断了,还是两个独立的组件

5 - 装饰器。装饰器只能用在类和类属性上。es6的装饰器就是@name,带@的就是装饰器。

**装饰器跟react的高阶组件没有任何关系,高阶组件可以通过装饰器的方式引入。

6 - React中的Render Props,就是在组件中的props接受一个函数,这个函数返回一个react元素(JSX)并且调用它。

7 - 防抖(debounce):所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。

8 - 节流(throttle):所谓节流,就是指连续触发事件但是在 n 秒中只执行一次函数。节流会稀释函数的执行频率。

9 - js如何触发css的过渡动画,通过改变css的属性即可。

10 - AMD(Asynchronous Module Definition) 异步模块定义 define(id, dependencies, factory), id-模块名,dependencies-依赖(数组),factory-实例化函数或对象,通过require引入模块。依赖前置,异步定义,延迟执行。具体实现Required.js

11 - CMD(Common Module Definition) 通用模块定义,define(function(require, exports, module) { ...}) 就近依赖,按需引入。具体实现sea.js

12 - import和require的区别。import是编译的时调用,是解构过程;require是运行时调用,是赋值过程。

13 - 正向代理隐藏真实客户端,反向代理隐藏真实服务端

原文地址:https://www.cnblogs.com/yupire/p/11572342.html