获得徽章 0
- React 中的高阶组件是一个函数,传给它一个组件,返回一个新的组件。
它其实就是设计模式中的装饰者模式,目的是代码复用,可以把组件之间可复用的逻辑抽离至高阶组件中。
一个典型的例子就是通过高阶组件实现鉴权逻辑,从而对包裹的组件进行权限验证。展开211 - 推荐一个很好的文章,讲解了React的function component与class component最大的一个区别。我来简单的总结一下:
1. 在React中,每一次渲染都是独立的。对于函数组件而言,它在某一次渲染时所能访问到的变量只与那一次的渲染环境有关。因此,如果你执行了异步操作,并且外部更新了props,异步操作最后访问到的是触发异步操作时的环境变量(旧的Props)。
2. props是不变的。因此,组件的每一次渲染访问的props都是不同的。由于类组件是通过this.props的形式来访问props的变量的,props是不变的,可是this.props是变化的,每一次都会指向最新的props。因此,相同情况下,类组件会访问到最新的值。
3. 对于React hooks而言,也会有这个问题。由于每一次渲染都是独立的,因此,如果你在异步操作里访问useState或者传入的props的值,取到的是触发异步操作时的那次渲染的值,而不是最新的。如果想一直访问最新的,可以使用ref的方式或者把异步操作放到useEffect里,将依赖项写在useEffect的第二个参数里。展开25 - SMART 原则复习
1. 绩效指标必须是具体的(Specific)
2. 绩效指标必须是可以衡量的(Measurable)
3. 绩效指标必须是可以达到的(Attainable)
4. 绩效指标是要与其他目标具有一定的相关性(Relevant)
5.绩效指标必须具有明确的截止期限(Time-bound)
无论是制定团队的工作目标还是员工的绩效目标都必须符合上述原则,五个原则缺一不可。展开评论3 - 今日面试题,「 第25题:JavaScript 事件循环和Node 事件循环的区别」。
欢迎在 Issue 区留下你的答案,历史面试题和答案汇总如下,欢迎 Star评论14