日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
不可錯過的Rect面試題,務(wù)必收藏

下面是一個常用的關(guān)于 React 的面試問題列表:

創(chuàng)新互聯(lián)公司是專業(yè)的洛江網(wǎng)站建設(shè)公司,洛江接單;提供做網(wǎng)站、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行洛江網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

無論作為一個面試者,或者招聘官,下面這些問題都可以去參考。

React 的工作原理

React 會創(chuàng)建一個虛擬 DOM(virtual DOM)。當一個組件中的狀態(tài)改變時,React 首先會通過 "diffing" 算法來標記虛擬 DOM 中的改變,第二步是調(diào)節(jié)(reconciliation),會用 diff 的結(jié)果來更新 DOM。

使用 React 有何優(yōu)點

  •  只需查看 render 函數(shù)就會很容易知道一個組件是如何被渲染的
  •  JSX 的引入,使得組件的代碼更加可讀,也更容易看懂組件的布局,或者組件之間是如何互相引用的
  •  支持服務(wù)端渲染,這可以改進 SEO 和性能
  •  易于測試
  •  React 只關(guān)注 View 層,所以可以和其它任何框架(如Backbone.js, Angular.js)一起使用

展示組件(Presentational component)和容器組件(Container component)之間有何不同

展示組件關(guān)心組件看起來是什么。展示專門通過 props 接受數(shù)據(jù)和回調(diào),并且?guī)缀醪粫凶陨淼臓顟B(tài),但當展示組件擁有自身的狀態(tài)時,通常也只關(guān)心 UI 狀態(tài)而不是數(shù)據(jù)的狀態(tài)。

容器組件則更關(guān)心組件是如何運作的。容器組件會為展示組件或者其它容器組件提供數(shù)據(jù)和行為(behavior),它們會調(diào)用 Flux actions,并將其作為回調(diào)提供給展示組件。容器組件經(jīng)常是有狀態(tài)的,因為它們是(其它組件的)數(shù)據(jù)源。

類組件(Class component)和函數(shù)式組件(Functional component)之間有何不同

  •  類組件不僅允許你使用更多額外的功能,如組件自身的狀態(tài)和生命周期鉤子,也能使組件直接訪問 store 并維持狀態(tài)
  •  當組件僅是接收 props,并將組件自身渲染到頁面時,該組件就是一個 '無狀態(tài)組件(stateless component)',可以使用一個純函數(shù)來創(chuàng)建這樣的組件。這種組件也被稱為啞組件(dumb components)或展示組件

(組件的)狀態(tài)(state)和屬性(props)之間有何不同

State 是一種數(shù)據(jù)結(jié)構(gòu),用于組件掛載時所需數(shù)據(jù)的默認值。State 可能會隨著時間的推移而發(fā)生突變,但多數(shù)時候是作為用戶事件行為的結(jié)果。

Props(properties 的簡寫)則是組件的配置。props 由父組件傳遞給子組件,并且就子組件而言,props 是不可變的(immutable)。組件不能改變自身的 props,但是可以把其子組件的 props 放在一起(統(tǒng)一管理)。Props 也不僅僅是數(shù)據(jù)--回調(diào)函數(shù)也可以通過 props 傳遞。

指出(組件)生命周期方法的不同

  •  componentWillMount -- 多用于根組件中的應(yīng)用程序配置
  •  componentDidMount -- 在這可以完成所有沒有 DOM 就不能做的所有配置,并開始獲取所有你需要的數(shù)據(jù);如果需要設(shè)置事件監(jiān)聽,也可以在這完成
  •  omponentWillReceiveProps -- 這個周期函數(shù)作用于特定的 prop 改變導(dǎo)致的 state 轉(zhuǎn)換
  •  shouldComponentUpdate -- 如果你擔心組件過度渲染,shouldComponentUpdate 是一個改善性能的地方,因為如果組件接收了新的 prop, 它可以阻止(組件)重新渲染。shouldComponentUpdate 應(yīng)該返回一個布爾值來決定組件是否要重新渲染
  •  componentWillUpdate -- 很少使用。它可以用于代替組件的 componentWillReceiveProps 和 shouldComponentUpdate(但不能訪問之前的 props)
  •  componentDidUpdate -- 常用于更新 DOM,響應(yīng) prop 或 state 的改變
  •  componentWillUnmount -- 在這你可以取消網(wǎng)絡(luò)請求,或者移除所有與組件相關(guān)的事件監(jiān)聽器

應(yīng)該在 React 組件的何處發(fā)起 Ajax 請求

在 React 組件中,應(yīng)該在 componentDidMount 中發(fā)起網(wǎng)絡(luò)請求。這個方法會在組件***次“掛載”(被添加到 DOM)時執(zhí)行,在組件的生命周期中僅會執(zhí)行一次。更重要的是,你不能保證在組件掛載之前 Ajax 請求已經(jīng)完成,如果是這樣,也就意味著你將嘗試在一個未掛載的組件上調(diào)用 setState,這將不起作用。在 componentDidMount 中發(fā)起網(wǎng)絡(luò)請求將保證這有一個組件可以更新了。

何為受控組件(controlled component)

在 HTML 中,類似 ,