滴滴前端二面手撕
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'
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 11:58
湖北大学知行学院 前端工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享