快手前端二面
请将下面类组件函数转换成函数组件
import React, { Component } from 'react'
export default class MyButton extends Component {
constructor(props) {
super(props);
this.state = {
name: 'Bob',
}
}
componentDidMount() {
this.interval = setInterval(() => {
console.log(111);
}, 2000);
}
componentWillUnmount() {
this.interval && clearInterval(this.interval);
}
clickMe() {
this.interval && clearInterval(this.interval);
}
render() {
return <button onClick={this.clickMe}>My name is {this.state.name}</button>
}
}
在MyButton组件的父组件发生变化时,这个函数会重新执行吗?重新执行后interval的值还正确吗?
假设在2s内点击按钮触发clickMe函数,clearInterval会执行吗?
(不会,clickMe函数没有绑定this,会指向undefined)
如何让函数组件拥有相同的效果?
修改为函数组件后,在clickMe函数中调用setName('Jhon')会发生什么?框架内部做了什么?
为什么组件发生了重新渲染,拿到的值是Jhon,而不是被初始化为Blob?
对Webpack的了解?
url-loader为什么要将文件转换成DataUrl的格式?
算法题:三数之和(https://leetcode.cn/problems/3sum/)

安克创新 Anker公司福利 823人发布