❤,挪用 setState 以後React內部發生了什麼?
將通報給setState的對象和當前對象兼并,將觸發息爭歷程,react構建一個新的react樹,而且舉行diff對照,在相對必要的狀況觸發組件襯着。
參考:https://blog.csdn.net/fuohua/…
❤,React Component(組件) vs React Element(元素)區分是什麼
Element是React 中最小基本單位,是一般對象。
const element = <div className="element">I'm element</div> //就是一個element
而組件是類或許函數。
參考:https://segmentfault.com/a/11…
❤,受控組件和非受控組件是什麼意義
受控組件是React掌握的組件,也是表單數據的唯一真諦泉源;非可控組件指是表單數據由 DOM 處置懲罰,而不是您的 React 組件處置懲罰的組件,比方:
//我們運用 refs 來完成這個
class UnControlledForm extends Component {
handleSubmit = () => {
console.log("Input Value: ", this.input.value)
}
render () {
return (
<form onSubmit={this.handleSubmit}>
<input
type='text'
ref={(input) => this.input = input} />
<button type='submit'>Submit</button>
</form>
)
}
}
參考 同上
❤,形貌事宜在React中的處置懲罰體式格局
為了處理跨瀏覽器兼容性問題,您的 React 中的事宜處置懲罰順序將通報 SyntheticEvent 的實例,它是 React 的瀏覽器本機事宜的跨瀏覽器包裝器。
這些 SyntheticEvent 與您習氣的原生事宜具有雷同的接口,除了它們在一切瀏覽器中都兼容。風趣的是,React 實際上並沒有將事宜附加到子節點自身。React 將運用單個事宜監聽器監聽頂層的一切事宜。這關於機能是有優點的,這也意味着在更新DOM時,React 不需要憂鬱跟蹤事宜監聽器。
參考 同上
❤,盒模子與BFC
❤,請形貌import/require的道理
❤,依據以下代碼,推斷輸出效果
1,
var User = {
coun: 1,
getCount: function (){
return this.count;
}
}
var func = User.getCount;
console.log(func()); //undifined
2,
function test(){
for (var i=0;i<5;i++){
setTimeout(function (){
console.log(i);
},0)
}
}
test();//5,5,5,5,5
3,
var a = {
fn: function (){
console.log(fn);
}
}
4,
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,
<style>
.blue{color: blue;}
.red{color: red;}
</style>
<p class="red blue">內容</p>
❤,寫一個數組去重的要領
❤,寫一個大整數乘法盤算的要領
❤,寫一個要領,將URL中的查詢字符串剖析成一個Object
❤,請運用多種體式格局完成 左側定寬400px,右側自適應
❤,請運用多種體式格局完成 聖杯規劃 和 雙飛翼規劃
起首,聖杯規劃要相符以下3點請求:
1,三列規劃,中心寬度自適應,雙方定寬
2,中心欄要在瀏覽器中優先展現襯着
3,許可恣意列的高度最高
❤,請運用多種體式格局完成 程度垂直居中
要領1
<style>
.box {
background-color: #FF8C00;
width: 300px;
height: 300px;
position: relative;
}
.content {
background-color: #F00;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
</style>
<div class="box">
<div class="content">
1234
</div>
</div>
要領2
<style>
.box {
background-color: #FF8C00;
width: 300px;
height: 300px;
display: flex;
justify-content: center;
align-items: center;
}
.content {
background-color: #F00;
width: 100px;
height: 100px;
}
</style>
<div class="box">
<div class="content">
1234
</div>
</div>