jsonp react 获取返回值_必须要会的 50 个React 面试题(下)
翻譯:瘋狂的技術宅
原文:https://www.edureka.co/blog/interview-questions/react-interview-questions
29. 你對受控組件和非受控組件了解多少?
| 1. 沒有維持自己的狀態 | 1. 保持著自己的狀態 |
| 2.數據由父組件控制 | 2.數據由 DOM 控制 |
| 3. 通過 props 獲取當前值,然后通過回調通知更改 | 3. Refs 用于獲取其當前值 |
30. ?什么是高階組件(HOC)?
高階組件是重用組件邏輯的高級方法,是一種源于 React 的組件模式。 HOC 是自定義組件,在它之內包含另一個組件。它們可以接受子組件提供的任何動態,但不會修改或復制其輸入組件中的任何行為。你可以認為 HOC 是“純(Pure)”組件。
31. 你能用HOC做什么?
HOC可用于許多任務,例如:
代碼重用,邏輯和引導抽象
渲染劫持
狀態抽象和控制
Props 控制
32. 什么是純組件?
純(Pure) 組件是可以編寫的最簡單、最快的組件。它們可以替換任何只有 render() 的組件。這些組件增強了代碼的簡單性和應用的性能。
33. React 中 key 的重要性是什么?
key 用于識別唯一的 Virtual DOM 元素及其驅動 UI 的相應數據。它們通過回收 DOM 中當前所有的元素來幫助 React 優化渲染。這些 key 必須是唯一的數字或字符串,React 只是重新排序元素而不是重新渲染它們。這可以提高應用程序的性能。
React Redux
34. MVC框架的主要問題是什么?
以下是MVC框架的一些主要問題:
對 DOM 操作的代價非常高
程序運行緩慢且效率低下
內存浪費嚴重
由于循環依賴性,組件模型需要圍繞 models 和 views 進行創建
35. 解釋一下 Flux
flux
Flux 是一種強制單向數據流的架構模式。它控制派生數據,并使用具有所有數據權限的中心 store 實現多個組件之間的通信。整個應用中的數據更新必須只能在此處進行。 Flux 為應用提供穩定性并減少運行時的錯誤。
36. 什么是Redux?
Redux 是當今最熱門的前端開發庫之一。它是 JavaScript 程序的可預測狀態容器,用于整個應用的狀態管理。使用 Redux 開發的應用易于測試,可以在不同環境中運行,并顯示一致的行為。
37. Redux遵循的三個原則是什么?
單一事實來源:整個應用的狀態存儲在單個 store 中的對象/狀態樹里。單一狀態樹可以更容易地跟蹤隨時間的變化,并調試或檢查應用程序。
狀態是只讀的:改變狀態的唯一方法是去觸發一個動作。動作是描述變化的普通 JS 對象。就像 state 是數據的最小表示一樣,該操作是對數據更改的最小表示。
使用純函數進行更改:為了指定狀態樹如何通過操作進行轉換,你需要純函數。純函數是那些返回值僅取決于其參數值的函數。
38. 你對“單一事實來源”有什么理解?
Redux 使用 “Store” 將程序的整個狀態存儲在同一個地方。因此所有組件的狀態都存儲在 Store 中,并且它們從 Store 本身接收更新。單一狀態樹可以更容易地跟蹤隨時間的變化,并調試或檢查程序。
39. 列出 Redux 的組件。
Redux 由以下組件組成:
Action – 這是一個用來描述發生了什么事情的對象。
Reducer – ?這是一個確定狀態將如何變化的地方。
Store – 整個程序的狀態/對象樹保存在Store中。
View – 只顯示 Store 提供的數據。
40. 數據如何通過 Redux 流動?
Data Flow in Redux41. 如何在 Redux 中定義 Action?
React 中的 Action 必須具有 type 屬性,該屬性指示正在執行的 ACTION 的類型。必須將它們定義為字符串常量,并且還可以向其添加更多的屬性。在 Redux 中,action 被名為 Action Creators 的函數所創建。以下是 Action 和Action Creator 的示例:
1function?addTodo(text)?{2???????return?{
3????????????????type:?ADD_TODO,????
4?????????????????text
5????}
6}
42. 解釋 Reducer 的作用。
Reducers 是純函數,它規定應用程序的狀態怎樣因響應 ACTION 而改變。Reducers 通過接受先前的狀態和 action 來工作,然后它返回一個新的狀態。它根據操作的類型確定需要執行哪種更新,然后返回新的值。如果不需要完成任務,它會返回原來的狀態。
43. Store 在 Redux 中的意義是什么?
Store 是一個 JavaScript 對象,它可以保存程序的狀態,并提供一些方法來訪問狀態、調度操作和注冊偵聽器。應用程序的整個狀態/對象樹保存在單一存儲中。因此,Redux 非常簡單且是可預測的。我們可以將中間件傳遞到 store 來處理數據,并記錄改變存儲狀態的各種操作。所有操作都通過 reducer 返回一個新狀態。
44. ?Redux與Flux有何不同?
| 1. Store 包含狀態和更改邏輯 | 1. Store 和更改邏輯是分開的 |
| 2. 有多個 Store | 2. 只有一個 Store |
| 3. 所有 Store 都互不影響且是平級的 | 3. 帶有分層 reducer 的單一 Store |
| 4. 有單一調度器 | 4. 沒有調度器的概念 |
| 5. React 組件訂閱 store | 5. 容器組件是有聯系的 |
| 6. 狀態是可變的 | 6. 狀態是不可改變的 |
45. Redux 有哪些優點?
Redux 的優點如下:
結果的可預測性 - ?由于總是存在一個真實來源,即 store ,因此不存在如何將當前狀態與動作和應用的其他部分同步的問題。
可維護性 - ?代碼變得更容易維護,具有可預測的結果和嚴格的結構。
服務器端渲染 - ?你只需將服務器上創建的 store 傳到客戶端即可。這對初始渲染非常有用,并且可以優化應用性能,從而提供更好的用戶體驗。
開發人員工具 - ?從操作到狀態更改,開發人員可以實時跟蹤應用中發生的所有事情。
社區和生態系統 - ?Redux 背后有一個巨大的社區,這使得它更加迷人。一個由才華橫溢的人組成的大型社區為庫的改進做出了貢獻,并開發了各種應用。
易于測試 - ?Redux 的代碼主要是小巧、純粹和獨立的功能。這使代碼可測試且獨立。
組織 - ?Redux 準確地說明了代碼的組織方式,這使得代碼在團隊使用時更加一致和簡單。
React 路由
46. 什么是React 路由?
React 路由是一個構建在 React 之上的強大的路由庫,它有助于向應用程序添加新的屏幕和流。這使 URL 與網頁上顯示的數據保持同步。它負責維護標準化的結構和行為,并用于開發單頁 Web 應用。 React 路由有一個簡單的API。
47. 為什么React Router v4中使用 switch 關鍵字 ?
雖然
用于封裝 Router 中的多個路由,當你想要僅顯示要在多個定義的路線中呈現的單個路線時,可以使用 “switch” 關鍵字。使用時, ?標記會按順序將已定義的 URL 與已定義的路由進行匹配。找到第一個匹配項后,它將渲染指定的路徑。從而繞過其它路線。48. 為什么需要 React 中的路由?
Router 用于定義多個路由,當用戶定義特定的 URL 時,如果此 URL 與 Router 內定義的任何 “路由” 的路徑匹配,則用戶將重定向到該特定路由。所以基本上我們需要在自己的應用中添加一個 Router 庫,允許創建多個路由,每個路由都會向我們提供一個獨特的視圖
12????3????4????549. 列出 React Router 的優點。
幾個優點是:
就像 React 基于組件一樣,在 React Router v4 中,API 是 'All About Components'。可以將 Router 可視化為單個根組件(),其中我們將特定的子路由( )包起來。
無需手動設置歷史值:在 React Router v4 中,我們要做的就是將路由包裝在 < BrowserRouter> 組件中。
包是分開的:共有三個包,分別用于 Web、Native 和 Core。這使我們應用更加緊湊。基于類似的編碼風格很容易進行切換。
50. React Router與常規路由有何不同?
主題常規路由React 路由參與的頁面每個視圖對應一個新文件只涉及單個HTML頁面URL 更改HTTP 請求被發送到服務器并且接收相應的 HTML 頁面僅更改歷史記錄屬性體驗用戶實際在每個視圖的不同頁面切換用戶認為自己正在不同的頁面間切換希望這套 React 面試題和答案能幫你準備面試。祝一切順利!
-?END?-
作者:京程一燈授權轉自公眾號:前端先鋒總結
以上是生活随笔為你收集整理的jsonp react 获取返回值_必须要会的 50 个React 面试题(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国民英雄剧情介绍
- 下一篇: plsql developer无监听程序