成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

必須要會的React面試題有哪些

本篇內(nèi)容主要講解“必須要會的React面試題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“必須要會的React面試題有哪些”吧!

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

基本知識

1. 區(qū)分Real DOM和Virtual DOM

Real DOMVirtual DOM
1. 更新緩慢。1. 更新更快。
2. 可以直接更新 HTML。2. 無法直接更新 HTML。
3. 如果元素更新,則創(chuàng)建新DOM。3. 如果元素更新,則更新 JSX 。
4. DOM操作代價很高。4. DOM 操作非常簡單。
5. 消耗的內(nèi)存較多。5. 很少的內(nèi)存消耗。
 

2. 什么是React?

  • React 是 Facebook 在 2011 年開發(fā)的前端 JavaScript 庫。

  • 它遵循基于組件的方法,有助于構(gòu)建可重用的UI組件。

  • 它用于開發(fā)復(fù)雜和交互式的 Web 和移動 UI。

  • 盡管它僅在 2015 年開源,但有一個很大的支持社區(qū)。

3. React有什么特點?

React的主要功能如下:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 它使用虛擬DOM而不是真正的DOM。

  3. 它可以進(jìn)行服務(wù)器端渲染。

  4. 它遵循單向數(shù)據(jù)流或數(shù)據(jù)綁定。

4. 列出React的一些主要優(yōu)點。

React的一些主要優(yōu)點是:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 它提高了應(yīng)用的性能

  3. 可以方便地在客戶端和服務(wù)器端使用

  4. 由于 JSX,代碼的可讀性很好

  5. React 很容易與 Meteor,Angular 等其他框架集成

  6. 使用React,編寫UI測試用例變得非常容易

5. React有哪些限制?

React的限制如下:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. React 只是一個庫,而不是一個完整的框架

  3. 它的庫非常龐大,需要時間來理解

  4. 新手程序員可能很難理解

  5. 編碼變得復(fù)雜,因為它使用內(nèi)聯(lián)模板和 JSX

6. 什么是JSX?

JSX 是J avaScript XML 的簡寫。是 React 使用的一種文件,它利用 JavaScript 的表現(xiàn)力和類似 HTML 的模板語法。這使得 HTML 文件非常容易理解。此文件能使應(yīng)用非常可靠,并能夠提高其性能。下面是JSX的一個例子:

render(){     return(                 <div>             <h2> Hello World from Edureka!!</h2>         </div>     ); }

7. 你了解 Virtual DOM 嗎?解釋一下它的工作原理。

Virtual DOM 是一個輕量級的 JavaScript 對象,它最初只是 real DOM  的副本。它是一個節(jié)點樹,它將元素、它們的屬性和內(nèi)容作為對象及其屬性。 React 的渲染函數(shù)從 React  組件中創(chuàng)建一個節(jié)點樹。然后它響應(yīng)數(shù)據(jù)模型中的變化來更新該樹,該變化是由用戶或系統(tǒng)完成的各種動作引起的。

Virtual DOM 工作過程有三個簡單的步驟。

    1.每當(dāng)?shù)讓訑?shù)據(jù)發(fā)生改變時,整個 UI 都將在 Virtual DOM 描述中重新渲染。

必須要會的React面試題有哪些

    2.然后計算之前 DOM 表示與新表示的之間的差異。

必須要會的React面試題有哪些

    3.完成計算后,將只用實際更改的內(nèi)容更新 real DOM。

必須要會的React面試題有哪些

8. 為什么瀏覽器無法讀取JSX?

瀏覽器只能處理 JavaScript 對象,而不能讀取常規(guī) JavaScript 對象中的 JSX。所以為了使瀏覽器能夠讀取  JSX,首先,需要用像 Babel 這樣的 JSX 轉(zhuǎn)換器將 JSX 文件轉(zhuǎn)換為 JavaScript 對象,然后再將其傳給瀏覽器。

9. 與 ES5 相比,React 的 ES6 語法有何不同?

以下語法是 ES5 與 ES6 中的區(qū)別:

1.require 與 import

// ES5 var React = require('react');   // ES6 import React from 'react';

2.export 與 exports

// ES5 module.exports = Component;   // ES6 export default Component;

3.component 和 function

// ES5 var MyComponent = React.createClass({     render: function() {         return             <h4>Hello Edureka!</h4>;     } });   // ES6 class MyComponent extends React.Component {     render() {         return             <h4>Hello Edureka!</h4>;     } }

4.props

// ES5 var App = React.createClass({     propTypes: { name: React.PropTypes.string },     render: function() {         return             <h4>Hello, {this.props.name}!</h4>;     } });  // ES6 class App extends React.Component {     render() {         return             <h4>Hello, {this.props.name}!</h4>;     } }

5.state

// ES5 var App = React.createClass({     getInitialState: function() {         return { name: 'world' };     },     render: function() {         return             <h4>Hello, {this.state.name}!</h4>;     } });  // ES6 class App extends React.Component {     constructor() {         super();         this.state = { name: 'world' };     }     render() {         return             <h4>Hello, {this.state.name}!</h4>;     } }

10. React與Angular有何不同?

主題ReactAngular
1. 體系結(jié)構(gòu)只有 MVC 中的 View完整的 MVC
2. 渲染可以進(jìn)行服務(wù)器端渲染客戶端渲染
3. DOM使用 virtual DOM使用 real DOM
4. 數(shù)據(jù)綁定單向數(shù)據(jù)綁定雙向數(shù)據(jù)綁定
5. 調(diào)試編譯時調(diào)試運行時調(diào)試
6. 作者FacebookGoogle

React 組件

11. 你怎樣理解“在React中,一切都是組件”這句話。

組件是 React 應(yīng)用 UI 的構(gòu)建塊。這些組件將整個 UI 分成小的獨立并可重用的部分。每個組件彼此獨立,而不會影響 UI 的其余部分。

12. 怎樣解釋 React 中 render() 的目的。

每個React組件強制要求必須有一個 render()。它返回一個 React 元素,是原生 DOM 組件的表示。如果需要渲染多個 HTML 元素,則必須將它們組合在一個封閉標(biāo)記內(nèi),例如 <form>、<group>、<div> 等。此函數(shù)必須保持純凈,即必須每次調(diào)用時都返回相同的結(jié)果。

13. 如何將兩個或多個組件嵌入到一個組件中?

可以通過以下方式將組件嵌入到一個組件中:

class MyComponent extends React.Component{     render(){         return(                       <div>                 <h2>Hello</h2>                 <Header/>             </div>         );     } } class Header extends React.Component{     render(){         return             <h2>Header Component</h2>       }; } ReactDOM.render(     <MyComponent/>, document.getElementById('content') );

14. 什么是 Props?

Props 是 React 中屬性的簡寫。它們是只讀組件,必須保持純,即不可變。它們總是在整個應(yīng)用中從父組件傳遞到子組件。子組件永遠(yuǎn)不能將 prop 送回父組件。這有助于維護(hù)單向數(shù)據(jù)流,通常用于呈現(xiàn)動態(tài)生成的數(shù)據(jù)。

15. React中的狀態(tài)是什么?它是如何使用的?

狀態(tài)是 React 組件的核心,是數(shù)據(jù)的來源,必須盡可能簡單。基本上狀態(tài)是確定組件呈現(xiàn)和行為的對象。與props 不同,它們是可變的,并創(chuàng)建動態(tài)和交互式組件??梢酝ㄟ^ this.state() 訪問它們。

16. 區(qū)分狀態(tài)和 props

條件StateProps
1. 從父組件中接收初始值YesYes
2. 父組件可以改變值NoYes
3. 在組件中設(shè)置默認(rèn)值YesYes
4. 在組件的內(nèi)部變化YesNo
5. 設(shè)置子組件的初始值YesYes
6. 在子組件的內(nèi)部更改NoYes

17. 如何更新組件的狀態(tài)?

可以用 this.setState()更新組件的狀態(tài)。

class MyComponent extends React.Component {     constructor() {         super();         this.state = {             name: 'Maxx',             id: '101'         }     }     render()         {             setTimeout(()=>{this.setState({name:'Jaeha', id:'222'})},2000)             return (                               <div>                     <h2>Hello {this.state.name}</h2>                     <h3>Your Id is {this.state.id}</h3>                 </div>             );         }     } ReactDOM.render(     <MyComponent/>, document.getElementById('content') );

18. React 中的箭頭函數(shù)是什么?怎么用?

箭頭函數(shù)(=>)是用于編寫函數(shù)表達(dá)式的簡短語法。這些函數(shù)允許正確綁定組件的上下文,因為在 ES6 中默認(rèn)下不能使用自動綁定。使用高階函數(shù)時,箭頭函數(shù)非常有用。

//General way render() {         return(         <MyInput onChange = {this.handleChange.bind(this) } />     ); } //With Arrow Function render() {       return(         <MyInput onChange = { (e)=>this.handleOnChange(e) } />     ); }

19. 區(qū)分有狀態(tài)和無狀態(tài)組件。

有狀態(tài)組件無狀態(tài)組件
1. 在內(nèi)存中存儲有關(guān)組件狀態(tài)變化的信息1. 計算組件的內(nèi)部的狀態(tài)
2. 有權(quán)改變狀態(tài)2. 無權(quán)改變狀態(tài)
3. 包含過去、現(xiàn)在和未來可能的狀態(tài)變化情況3. 不包含過去,現(xiàn)在和未來可能發(fā)生的狀態(tài)變化情況
4. 接受無狀態(tài)組件狀態(tài)變化要求的通知,然后將 props 發(fā)送給他們。4.從有狀態(tài)組件接收 props 并將其視為回調(diào)函數(shù)。

20.  React組件生命周期的階段是什么?

React 組件的生命周期有三個不同的階段:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 初始渲染階段:這是組件即將開始其生命之旅并進(jìn)入 DOM 的階段。

  3. 更新階段:一旦組件被添加到 DOM,它只有在 prop 或狀態(tài)發(fā)生變化時才可能更新和重新渲染。這些只發(fā)生在這個階段。

  4. 卸載階段:這是組件生命周期的***階段,組件被銷毀并從 DOM 中刪除。

21. 詳細(xì)解釋 React 組件的生命周期方法。

一些最重要的生命周期方法是:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. componentWillMount()&ndash; 在渲染之前執(zhí)行,在客戶端和服務(wù)器端都會執(zhí)行。

  3. componentDidMount()&ndash; 僅在***次渲染后在客戶端執(zhí)行。

  4. componentWillReceiveProps()&ndash; 當(dāng)從父類接收到 props 并且在調(diào)用另一個渲染器之前調(diào)用。

  5. shouldComponentUpdate()&ndash; 根據(jù)特定條件返回 true 或 false。如果你希望更新組件,請返回true否則返回 false。默認(rèn)情況下,它返回 false。

  6. componentWillUpdate()&ndash; 在 DOM 中進(jìn)行渲染之前調(diào)用。

  7. componentDidUpdate()&ndash; 在渲染發(fā)生后立即調(diào)用。

  8. componentWillUnmount()&ndash; 從 DOM 卸載組件后調(diào)用。用于清理內(nèi)存空間。

22. React中的事件是什么?

在 React 中,事件是對鼠標(biāo)懸停、鼠標(biāo)單擊、按鍵等特定操作的觸發(fā)反應(yīng)。處理這些事件類似于處理 DOM 元素中的事件。但是有一些語法差異,如:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 用駝峰命名法對事件命名而不是僅使用小寫字母。

  3. 事件作為函數(shù)而不是字符串傳遞。

事件參數(shù)重包含一組特定于事件的屬性。每個事件類型都包含自己的屬性和行為,只能通過其事件處理程序訪問。

23. 如何在React中創(chuàng)建一個事件?

class Display extends React.Component({         show(evt) {         // code        },        render() {               // Render the div with an onClick prop (value is a function)                 return (                         <div onClick={this.show}>Click Me!</div>         );         } });

24. React中的合成事件是什么?

合成事件是圍繞瀏覽器原生事件充當(dāng)跨瀏覽器包裝器的對象。它們將不同瀏覽器的行為合并為一個 API。這樣做是為了確保事件在不同瀏覽器中顯示一致的屬性。

25. 你對 React 的 refs 有什么了解?

Refs 是 React 中引用的簡寫。它是一個有助于存儲對特定的 React 元素或組件的引用的屬性,它將由組件渲染配置函數(shù)返回。用于對 render() 返回的特定元素或組件的引用。當(dāng)需要進(jìn)行 DOM 測量或向組件添加方法時,它們會派上用場。

class ReferenceDemo extends React.Component{      display() {          const name = this.inputDemo.value;          document.getElementById('disp').innerHTML = name;      } render() {     return(                   <div>             Name: <input type="text" ref={input => this.inputDemo = input} />             <button name="Click" onClick={this.display}>Click</button>                         <h3>Hello <span id="disp"></span> !!!</h3>           </div>     );    }  }

26. 列出一些應(yīng)該使用 Refs 的情況。

以下是應(yīng)該使用 refs 的情況:

  • 需要管理焦點、選擇文本或媒體播放時

  • 觸發(fā)式動畫

  • 與第三方 DOM 庫集成

27. 如何模塊化 React 中的代碼?

可以使用 export 和 import 屬性來模塊化代碼。它們有助于在不同的文件中單獨編寫組件。

//ChildComponent.jsx export default class ChildComponent extends React.Component {     render() {         return(                          <div>                   <h2>This is a child component</h2>               </div>         );     } }   //ParentComponent.jsx import ChildComponent from './childcomponent.js'; class ParentComponent extends React.Component {         render() {                 return(                         <div>                                <App />                        </div>                );       } }

28. 如何在 React 中創(chuàng)建表單

React 表單類似于 HTML 表單。但是在 React 中,狀態(tài)包含在組件的 state 屬性中,并且只能通過 setState() 更新。因此元素不能直接更新它們的狀態(tài),它們的提交是由 JavaScript 函數(shù)處理的。此函數(shù)可以完全訪問用戶輸入到表單的數(shù)據(jù)。

handleSubmit(event) {     alert('A name was submitted: ' + this.state.value);     event.preventDefault(); }   render() {     return (                 <form onSubmit={this.handleSubmit}>             <label>                 Name:                 <input type="text" value={this.state.value} onChange={this.handleSubmit} />             </label>             <input type="submit" value="Submit" />         </form>     ); }

29. 你對受控組件和非受控組件了解多少?

受控組件非受控組件
1. 沒有維持自己的狀態(tài)1. 保持著自己的狀態(tài)
2.數(shù)據(jù)由父組件控制2.數(shù)據(jù)由 DOM 控制
3. 通過 props 獲取當(dāng)前值,然后通過回調(diào)通知更改3. Refs 用于獲取其當(dāng)前值

30.  什么是高階組件(HOC)?

高階組件是重用組件邏輯的高級方法,是一種源于 React 的組件模式。 HOC 是自定義組件,在它之內(nèi)包含另一個組件。它們可以接受子組件提供的任何動態(tài),但不會修改或復(fù)制其輸入組件中的任何行為。你可以認(rèn)為 HOC 是“純(Pure)”組件。

31. 你能用HOC做什么?

HOC可用于許多任務(wù),例如:

  • 代碼重用,邏輯和引導(dǎo)抽象

  • 渲染劫持

  • 狀態(tài)抽象和控制

  • Props 控制

32. 什么是純組件?

純(Pure) 組件是可以編寫的最簡單、最快的組件。它們可以替換任何只有 render()的組件。這些組件增強了代碼的簡單性和應(yīng)用的性能。

33. React 中 key 的重要性是什么?

key 用于識別唯一的 Virtual DOM 元素及其驅(qū)動 UI 的相應(yīng)數(shù)據(jù)。它們通過回收 DOM 中當(dāng)前所有的元素來幫助 React  優(yōu)化渲染。這些 key 必須是唯一的數(shù)字或字符串,React 只是重新排序元素而不是重新渲染它們。這可以提高應(yīng)用程序的性能。

React Redux

34. MVC框架的主要問題是什么?

以下是MVC框架的一些主要問題:

  • 對 DOM 操作的代價非常高

  • 程序運行緩慢且效率低下

  • 內(nèi)存浪費嚴(yán)重

  • 由于循環(huán)依賴性,組件模型需要圍繞 models 和 views 進(jìn)行創(chuàng)建

35. 解釋一下 Flux

必須要會的React面試題有哪些

Flux 是一種強制單向數(shù)據(jù)流的架構(gòu)模式。它控制派生數(shù)據(jù),并使用具有所有數(shù)據(jù)權(quán)限的中心 store 實現(xiàn)多個組件之間的通信。整個應(yīng)用中的數(shù)據(jù)更新必須只能在此處進(jìn)行。 Flux 為應(yīng)用提供穩(wěn)定性并減少運行時的錯誤。

36. 什么是Redux?

Redux 是當(dāng)今最熱門的前端開發(fā)庫之一。它是 JavaScript 程序的可預(yù)測狀態(tài)容器,用于整個應(yīng)用的狀態(tài)管理。使用 Redux 開發(fā)的應(yīng)用易于測試,可以在不同環(huán)境中運行,并顯示一致的行為。

37. Redux遵循的三個原則是什么?

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 單一事實來源:整個應(yīng)用的狀態(tài)存儲在單個 store 中的對象/狀態(tài)樹里。單一狀態(tài)樹可以更容易地跟蹤隨時間的變化,并調(diào)試或檢查應(yīng)用程序。

  3. 狀態(tài)是只讀的:改變狀態(tài)的唯一方法是去觸發(fā)一個動作。動作是描述變化的普通 JS 對象。就像 state 是數(shù)據(jù)的最小表示一樣,該操作是對數(shù)據(jù)更改的最小表示。

  4. 使用純函數(shù)進(jìn)行更改:為了指定狀態(tài)樹如何通過操作進(jìn)行轉(zhuǎn)換,你需要純函數(shù)。純函數(shù)是那些返回值僅取決于其參數(shù)值的函數(shù)。

必須要會的React面試題有哪些

38. 你對“單一事實來源”有什么理解?

Redux 使用 “Store” 將程序的整個狀態(tài)存儲在同一個地方。因此所有組件的狀態(tài)都存儲在 Store 中,并且它們從 Store 本身接收更新。單一狀態(tài)樹可以更容易地跟蹤隨時間的變化,并調(diào)試或檢查程序。

39. 列出 Redux 的組件。

Redux 由以下組件組成:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. Action&ndash; 這是一個用來描述發(fā)生了什么事情的對象。

  3. Reducer&ndash;  這是一個確定狀態(tài)將如何變化的地方。

  4. Store&ndash; 整個程序的狀態(tài)/對象樹保存在Store中。

  5. View&ndash; 只顯示 Store 提供的數(shù)據(jù)。

40. 數(shù)據(jù)如何通過 Redux 流動?

必須要會的React面試題有哪些

41. 如何在 Redux 中定義 Action?

React 中的 Action 必須具有 type 屬性,該屬性指示正在執(zhí)行的 ACTION  的類型。必須將它們定義為字符串常量,并且還可以向其添加更多的屬性。在 Redux 中,action 被名為 Action Creators  的函數(shù)所創(chuàng)建。以下是 Action 和Action Creator 的示例:

function addTodo(text) {        return {                 type: ADD_TODO,                      text     } }

42. 解釋 Reducer 的作用。

Reducers 是純函數(shù),它規(guī)定應(yīng)用程序的狀態(tài)怎樣因響應(yīng) ACTION 而改變。Reducers 通過接受先前的狀態(tài)和 action  來工作,然后它返回一個新的狀態(tài)。它根據(jù)操作的類型確定需要執(zhí)行哪種更新,然后返回新的值。如果不需要完成任務(wù),它會返回原來的狀態(tài)。

43. Store 在 Redux 中的意義是什么?

Store 是一個 JavaScript  對象,它可以保存程序的狀態(tài),并提供一些方法來訪問狀態(tài)、調(diào)度操作和注冊偵聽器。應(yīng)用程序的整個狀態(tài)/對象樹保存在單一存儲中。因此,Redux  非常簡單且是可預(yù)測的。我們可以將中間件傳遞到 store 來處理數(shù)據(jù),并記錄改變存儲狀態(tài)的各種操作。所有操作都通過 reducer  返回一個新狀態(tài)。

44.  Redux與Flux有何不同?

FluxRedux
1. Store 包含狀態(tài)和更改邏輯1. Store 和更改邏輯是分開的
2. 有多個 Store2. 只有一個 Store
3. 所有 Store 都互不影響且是平級的3. 帶有分層 reducer 的單一 Store
4. 有單一調(diào)度器4. 沒有調(diào)度器的概念
5. React 組件訂閱 store5. 容器組件是有聯(lián)系的
6. 狀態(tài)是可變的6. 狀態(tài)是不可改變的
 

45. Redux 有哪些優(yōu)點?

Redux 的優(yōu)點如下:

  • 結(jié)果的可預(yù)測性 - 由于總是存在一個真實來源,即 store ,因此不存在如何將當(dāng)前狀態(tài)與動作和應(yīng)用的其他部分同步的問題。

  • 可維護(hù)性 - 代碼變得更容易維護(hù),具有可預(yù)測的結(jié)果和嚴(yán)格的結(jié)構(gòu)。

  • 服務(wù)器端渲染 - 你只需將服務(wù)器上創(chuàng)建的 store 傳到客戶端即可。這對初始渲染非常有用,并且可以優(yōu)化應(yīng)用性能,從而提供更好的用戶體驗。

  • 開發(fā)人員工具 - 從操作到狀態(tài)更改,開發(fā)人員可以實時跟蹤應(yīng)用中發(fā)生的所有事情。

  • 社區(qū)和生態(tài)系統(tǒng) - Redux 背后有一個巨大的社區(qū),這使得它更加迷人。一個由才華橫溢的人組成的大型社區(qū)為庫的改進(jìn)做出了貢獻(xiàn),并開發(fā)了各種應(yīng)用。

  • 易于測試 - Redux 的代碼主要是小巧、純粹和獨立的功能。這使代碼可測試且獨立。

  • 組織 - Redux 準(zhǔn)確地說明了代碼的組織方式,這使得代碼在團隊使用時更加一致和簡單。

React 路由

46. 什么是React 路由?

React 路由是一個構(gòu)建在 React 之上的強大的路由庫,它有助于向應(yīng)用程序添加新的屏幕和流。這使 URL 與網(wǎng)頁上顯示的數(shù)據(jù)保持同步。它負(fù)責(zé)維護(hù)標(biāo)準(zhǔn)化的結(jié)構(gòu)和行為,并用于開發(fā)單頁 Web 應(yīng)用。 React 路由有一個簡單的API。

47. 為什么React Router v4中使用 switch 關(guān)鍵字 ?

雖然 <div>用于封裝 Router 中的多個路由,當(dāng)你想要僅顯示要在多個定義的路線中呈現(xiàn)的單個路線時,可以使用 “switch” 關(guān)鍵字。使用時,<switch> 標(biāo)記會按順序?qū)⒁讯x的 URL 與已定義的路由進(jìn)行匹配。找到***個匹配項后,它將渲染指定的路徑。從而繞過其它路線。

48. 為什么需要 React 中的路由?

Router 用于定義多個路由,當(dāng)用戶定義特定的 URL 時,如果此 URL 與 Router 內(nèi)定義的任何 “路由”  的路徑匹配,則用戶將重定向到該特定路由。所以基本上我們需要在自己的應(yīng)用中添加一個 Router  庫,允許創(chuàng)建多個路由,每個路由都會向我們提供一個獨特的視圖

<switch>     <route exact path=&rsquo;/&rsquo; component={Home}/>     <route path=&rsquo;/posts/:id&rsquo; component={Newpost}/>     <route path=&rsquo;/posts&rsquo;   component={Post}/> </switch>

49. 列出 React Router 的優(yōu)點。

幾個優(yōu)點是:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 就像 React 基于組件一樣,在 React Router v4 中,API 是 'All About Components'。可以將 Router 可視化為單個根組件(<BrowserRouter>),其中我們將特定的子路由(<route>)包起來。

  3. 無需手動設(shè)置歷史值:在 React Router v4 中,我們要做的就是將路由包裝在 <BrowserRouter>組件中。

  4. 包是分開的:共有三個包,分別用于 Web、Native 和 Core。這使我們應(yīng)用更加緊湊?;陬愃频木幋a風(fēng)格很容易進(jìn)行切換。

50. React Router與常規(guī)路由有何不同?

主題常規(guī)路由React 路由
參與的頁面每個視圖對應(yīng)一個新文件只涉及單個HTML頁面
URL 更改HTTP 請求被發(fā)送到服務(wù)器并且接收相應(yīng)的 HTML 頁面僅更改歷史記錄屬性
體驗用戶實際在每個視圖的不同頁面切換用戶認(rèn)為自己正在不同的頁面間切換

到此,相信大家對“必須要會的React面試題有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享文章:必須要會的React面試題有哪些
分享URL:http://jinyejixie.com/article18/gpsgdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站標(biāo)簽優(yōu)化、App開發(fā)、營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
延庆县| 凤山县| 江门市| 余庆县| 天峨县| 崇义县| 札达县| 怀远县| 鹤庆县| 慈溪市| 石台县| 石台县| 项城市| 永顺县| 石台县| 通州区| 平乡县| 昆明市| 广州市| 建宁县| 右玉县| 安多县| 南乐县| 灯塔市| 北流市| 垣曲县| 佛冈县| 关岭| 南丰县| 南和县| 团风县| 昔阳县| 分宜县| 海城市| 长泰县| 精河县| 行唐县| 宜城市| 田林县| 弥勒县| 连州市|