摘要:有趣的是,實際上并沒有將事件附加到子節(jié)點本身。將使用單個事件監(jiān)聽器監(jiān)聽頂層的所有事件。這對于性能是有好處的,這也意味著在更新時,不需要擔(dān)心跟蹤事件監(jiān)聽器。
?,調(diào)用 setState 之后React內(nèi)部發(fā)生了什么?
</>復(fù)制代碼
將傳遞給setState的對象和當(dāng)前對象合并,將觸發(fā)和解過程,react構(gòu)建一個新的react樹,并且進行diff對比,在絕對必要的情況觸發(fā)組件渲染。
參考:https://blog.csdn.net/fuohua/...
?,React Component(組件) vs React Element(元素)區(qū)別是什么
Element是React 中最小基本單位,是普通對象。
</>復(fù)制代碼
const element = I"m element //就是一個element
而組件是類或者函數(shù)。
參考:https://segmentfault.com/a/11...
?,受控組件和非受控組件是什么意思
受控組件是React控制的組件,也是表單數(shù)據(jù)的唯一真理來源;非可控組件指是表單數(shù)據(jù)由 DOM 處理,而不是您的 React 組件處理的組件,比如:
</>復(fù)制代碼
//我們使用 refs 來完成這個
class UnControlledForm extends Component {
handleSubmit = () => {
console.log("Input Value: ", this.input.value)
}
render () {
return (
this.input = input} />
)
}
}
參考 同上
?,描述事件在React中的處理方式
為了解決跨瀏覽器兼容性問題,您的 React 中的事件處理程序?qū)鬟f SyntheticEvent 的實例,它是 React 的瀏覽器本機事件的跨瀏覽器包裝器。
這些 SyntheticEvent 與您習(xí)慣的原生事件具有相同的接口,除了它們在所有瀏覽器中都兼容。有趣的是,React 實際上并沒有將事件附加到子節(jié)點本身。React 將使用單個事件監(jiān)聽器監(jiān)聽頂層的所有事件。這對于性能是有好處的,這也意味著在更新DOM時,React 不需要擔(dān)心跟蹤事件監(jiān)聽器。
參考 同上
?,盒模型與BFC
?,請描述import/require的原理
?,根據(jù)如下代碼,判斷輸出結(jié)果
1,
</>復(fù)制代碼
var User = {
coun: 1,
getCount: function (){
return this.count;
}
}
var func = User.getCount;
console.log(func()); //undifined
2,
</>復(fù)制代碼
function test(){
for (var i=0;i<5;i++){
setTimeout(function (){
console.log(i);
},0)
}
}
test();//5,5,5,5,5
3,
</>復(fù)制代碼
var a = {
fn: function (){
console.log(fn);
}
}
4,
</>復(fù)制代碼
function Animal(name){
this.name = name;
}
Animal.prototype.sayName = function (){
console.log(this.name);
}
function Cat(name){
Animal.call(this, name)
}
var kay = new Cat("Jim");
kat.sayName();
5,
</>復(fù)制代碼
內(nèi)容
?,寫一個數(shù)組去重的方法
?,寫一個大整數(shù)乘法計算的方法
?,寫一個方法,將URL中的查詢字符串解析成一個Object
?,請使用多種方式實現(xiàn) 左邊定寬400px,右邊自適應(yīng)
?,請使用多種方式實現(xiàn) 圣杯布局 和 雙飛翼布局
首先,圣杯布局要符合以下3點要求:
</>復(fù)制代碼
1,三列布局,中間寬度自適應(yīng),兩邊定寬
2,中間欄要在瀏覽器中優(yōu)先展示渲染
3,允許任意列的高度最高
?,請使用多種方式實現(xiàn) 水平垂直居中
方法1
</>復(fù)制代碼
1234
方法2
</>復(fù)制代碼
1234
參考:https://blog.csdn.net/qq_2757...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/116742.html
摘要:有趣的是,實際上并沒有將事件附加到子節(jié)點本身。將使用單個事件監(jiān)聽器監(jiān)聽頂層的所有事件。這對于性能是有好處的,這也意味著在更新時,不需要擔(dān)心跟蹤事件監(jiān)聽器。 ?,調(diào)用 setState 之后React內(nèi)部發(fā)生了什么? 將傳遞給setState的對象和當(dāng)前對象合并,將觸發(fā)和解過程,react構(gòu)建一個新的react樹,并且進行diff對比,在絕對必要的情況觸發(fā)組件渲染。 參考:https:/...
摘要:有趣的是,實際上并沒有將事件附加到子節(jié)點本身。將使用單個事件監(jiān)聽器監(jiān)聽頂層的所有事件。這對于性能是有好處的,這也意味著在更新時,不需要擔(dān)心跟蹤事件監(jiān)聽器。 ?,調(diào)用 setState 之后React內(nèi)部發(fā)生了什么? 將傳遞給setState的對象和當(dāng)前對象合并,將觸發(fā)和解過程,react構(gòu)建一個新的react樹,并且進行diff對比,在絕對必要的情況觸發(fā)組件渲染。 參考:https:/...
摘要:比如如果不使用構(gòu)造函數(shù),則和是對象的方法,兩個方法的作用是一樣的誰誰,就把指向誰。,本題提到了冒泡算法,那么就認(rèn)為不是要使用原生的方法,要自己封裝一個類似功能的方法或稱函數(shù)。就是通過中構(gòu)造函數(shù)原型鏈繼承的方式來實現(xiàn)的。 ?,es6中的高級數(shù)據(jù)結(jié)構(gòu)set和map的使用以及與es5中舊有的obj、array等結(jié)構(gòu)的差別? (1) Set構(gòu)建函數(shù)可以接受一個數(shù)組作為初始化參數(shù) var s...
閱讀 4312·2021-10-13 09:39
閱讀 487·2021-09-06 15:02
閱讀 3234·2019-08-30 15:53
閱讀 1045·2019-08-30 13:04
閱讀 2050·2019-08-30 11:27
閱讀 2018·2019-08-26 13:51
閱讀 2102·2019-08-26 11:33
閱讀 2908·2019-08-26 10:36