We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.项目介绍,亮点
2.路由怎么实现的,react-router cacherouter是干嘛的,hash router和history router的区别
其中Browser或HashRouter包裹应用
import {BrowserRouter as Router, Route, Switch} from "react-router-dom"; function App(){ return ( <Router> <Switch> <Route path="/path" component={Home} /> <Route path="/about" component={About} /> </Switch> </Router> ) }
使用Link
import {Link} from "react-router-dom"; function Navigation(){ return ( <nav> <ul> <li><Link to="/home">Home</Link></li> <li><Link to="/about">About</Link></li> </ul> </nav> ) }
3.useffect怎么实现副作用的,怎么在卸载前取消订阅
import React, {useState, useEffect} from "react"; function ExampleComponent(){ const [data, setData] = useState(null); useEffect(()=>{ const fetchDate = async () => { const result = await fetch("http://api.com"); const jsonData = await result.json(); setData(jsonData); } return ()={ //返回的清理函数在组件卸载时执行,用于取消订阅或执行其他清理操作。 }; }, []); return ( <div> {data && <p>{data}</p>} </div> ) }
4.script阻塞怎么解决,具体讲讲defer和async的区别
脚本阻塞是指浏览器在解析HTML文档时遇到scirpt标签时会停止渲染并下载执行脚本。
使用defer和async来控制脚本的加载和执行
defer告诉浏览器立即下载脚本,但是等文档解析完了再执行。使用defer会在DOMContentLoaded事件之前执行,但是在DOMContentLoaded事件之前执行,浏览器仍然可以并行下载其他资源
async要求浏览器下载完脚本立即执行。不会等文档解析完成。多个带有async属性的脚本会并行下载,下载完成后立即执行,不会按照出行顺序去执行。
区别:
5.react为什么需要hooks
为了解决组件之间的复用状态逻辑,解决了复用性差、代码冗长、难以理解的生命周期的问题。
并带来以下优势:
Hooks列表:
6.react class组件和函数组件的区别
7.react fiber是干嘛的
react fiber是react 16引入的一种重新实现的调度算法,用于实现更加高效的组件渲染和更新。目标是实现更好的时间分片和异步渲染,提高性能和用户体验。 主要作用包括:
8.react redux是怎么更新ui的,除了react-redux其他store有了解吗?
React Redux中,但应用状态发生变化,会通过store来更新UI。通过store.dispaptch(action)派发一个action,这个action会被传递给reducer,然后reducer根据action的类型来更新相应状态。
还有mobx、zustand、recoil
9.antd config.privider
ant design中config.provider是一个用于配置全局样式主题的属性。通过设置config.provider,可以定义Ant Design组件中的各种样式变量。从而自定义整个应用程序的主题风格。通常config.provide
10.实现水平垂直居中的方案
11.less如何实现第1-8个元素不同的颜色
.container{ .centered { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); @color: #fff, #fff, #fff, #ff1, #ff2, #ff2 .loop-colors(@index) when (@index > 0){ &:nth-child(@{index}){ background-color: extract(@colors, @index); } .loop-colors(@index - 1); } .loop-colors(8); } }
12.this了解多少,箭头函数的this为什么在定义时就已经确定
this在调用时确定的,不是在定义的时候确定的。
13.js事件循环
14.h5多线程,多线程有什么限制
HTML5没有直接的多线程能力,但是通过web workers技术,可以在浏览器中创建多线程。
限制
15.babel怎么实现向后兼容的
16.git多人开发时,临时存储方案
git stash git stash apply
17.ts泛型是什么?什么时候用到
是一种在定义函数、类、接口时刻从夫组件的工具。允许定义是不指定具体的类型,而是使用时再指定类型,从而使得这个可重复的组件能够使用与多种不同类型的数据。
1、函数泛型:
function identity<T>(arg: T): T{ return arg; } let result = identity<string>("Hello");
2、类泛型:可以定义类,其中有些属性或者方法的类型的泛型
class Box<T> { private value: T; constructor(value: T){ this.value = value; } getValue(): T { return this.value; } } let box = new Box<number>(10);
3、接口泛型:可以定义接口,其中某些成员是泛型
interface Pair<T, U> { first: T; second: U; } let pair: Pair<number, string> = {first: 1, second: "two"};
let array: Array<number> = [1, 2, 3];
The text was updated successfully, but these errors were encountered:
No branches or pull requests
数字马力 前端一面 时间50分钟
1.项目介绍,亮点
2.路由怎么实现的,react-router cacherouter是干嘛的,hash router和history router的区别
其中Browser或HashRouter包裹应用
使用Link
3.useffect怎么实现副作用的,怎么在卸载前取消订阅
4.script阻塞怎么解决,具体讲讲defer和async的区别
脚本阻塞是指浏览器在解析HTML文档时遇到scirpt标签时会停止渲染并下载执行脚本。
使用defer和async来控制脚本的加载和执行
defer告诉浏览器立即下载脚本,但是等文档解析完了再执行。使用defer会在DOMContentLoaded事件之前执行,但是在DOMContentLoaded事件之前执行,浏览器仍然可以并行下载其他资源
async要求浏览器下载完脚本立即执行。不会等文档解析完成。多个带有async属性的脚本会并行下载,下载完成后立即执行,不会按照出行顺序去执行。
区别:
5.react为什么需要hooks
为了解决组件之间的复用状态逻辑,解决了复用性差、代码冗长、难以理解的生命周期的问题。
并带来以下优势:
Hooks列表:
6.react class组件和函数组件的区别
7.react fiber是干嘛的
react fiber是react 16引入的一种重新实现的调度算法,用于实现更加高效的组件渲染和更新。目标是实现更好的时间分片和异步渲染,提高性能和用户体验。
主要作用包括:
8.react redux是怎么更新ui的,除了react-redux其他store有了解吗?
React Redux中,但应用状态发生变化,会通过store来更新UI。通过store.dispaptch(action)派发一个action,这个action会被传递给reducer,然后reducer根据action的类型来更新相应状态。
还有mobx、zustand、recoil
9.antd config.privider
ant design中config.provider是一个用于配置全局样式主题的属性。通过设置config.provider,可以定义Ant Design组件中的各种样式变量。从而自定义整个应用程序的主题风格。通常config.provide
10.实现水平垂直居中的方案
11.less如何实现第1-8个元素不同的颜色
12.this了解多少,箭头函数的this为什么在定义时就已经确定
this在调用时确定的,不是在定义的时候确定的。
13.js事件循环
14.h5多线程,多线程有什么限制
HTML5没有直接的多线程能力,但是通过web workers技术,可以在浏览器中创建多线程。
限制
15.babel怎么实现向后兼容的
16.git多人开发时,临时存储方案
17.ts泛型是什么?什么时候用到
是一种在定义函数、类、接口时刻从夫组件的工具。允许定义是不指定具体的类型,而是使用时再指定类型,从而使得这个可重复的组件能够使用与多种不同类型的数据。
1、函数泛型:
2、类泛型:可以定义类,其中有些属性或者方法的类型的泛型
3、接口泛型:可以定义接口,其中某些成员是泛型
The text was updated successfully, but these errors were encountered: