滴滴前端二面手撕

1.实现react的useEvent

function useEvent(fn) {
// 实现
}

function Demo () {
const [s] = useState(1)
// 返回值onEvent是函数,且是稳定的值
// log输出中,s永远输出的是最新的s的值
const onEvent = useEvent((a, b) => {
console.log('cb', a, b, s)
})
return (<XX onEvent={onEvent}>{s}</XX>)
}

2.类名压缩

// 压缩CSS类名,你给一个函数,接受传入的元素的class的值。然后压缩返回。需要做到多次调用不重复,全局唯一。
// 希望预期的是,对于所有的class的名字,都可以按照最短输出。例如 class-a -> a class-others -> b
// 当足够多之后是如 aa ab 这样的值

function optim (classNames) {
}

console.log(optim('class-a')) // 'a'
console.log(optim('xx')) // 'b'
console.log(optim('class-a')) // 'a'
console.log(optim('class-a  xx class-ee')) // 'a b c'
全部评论
今天面的吗家人
点赞 回复 分享
发布于 03-21 17:38 陕西

相关推荐

评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务