自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自認(rèn)為精通React,這些JavaScript概念你掌握了沒(méi)?

開(kāi)發(fā) 前端
想要確定一個(gè)人是否掌握React,考考他最新的JavaScript語(yǔ)法就可以了。JavaScript語(yǔ)法對(duì)于理解React至關(guān)重要,它能讓我們更加容易地閱讀日志,編寫(xiě)出更簡(jiǎn)潔的React代碼。

 本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)

想要確定一個(gè)人是否掌握React,考考他最新的JavaScript語(yǔ)法就可以了。JavaScript語(yǔ)法對(duì)于理解React至關(guān)重要,它能讓我們更加容易地閱讀日志,編寫(xiě)出更簡(jiǎn)潔的React代碼。

[[330371]]

一旦掌握了一些新的JavaScript語(yǔ)法,編寫(xiě)React代碼將變得輕而易舉。來(lái)看看精通React不可缺少的關(guān)鍵概念吧!

箭頭功能

箭頭功能非常重要,它讓功能變得更短,更整潔,并且不必?fù)?dān)心this。現(xiàn)在,React有了hooks API,就可以在任何地方使用箭頭功能了。

例如,可以將箭頭函數(shù)與hooks API結(jié)合使用,如下所示:

  1. importReact from "react"
  2. const App = () => { 
  3.   return <divclassName="App">foo</div>; 
  4. };export default App; 

在上面的代碼中,使用箭頭函數(shù)定義了一個(gè)非常簡(jiǎn)單的React組件。該代碼僅顯示靜態(tài)文本,但是可以通過(guò)動(dòng)態(tài)功能輕松地對(duì)其進(jìn)行擴(kuò)展。

你還可以編寫(xiě)以下代碼,將hooks添加到應(yīng)用程序零件中:

  1. importReact, { useState } from "react"
  2. const App = () => { 
  3.   const [count, setCount] =useState(0);  return ( 
  4.     <div className="App"
  5.       <button onClick={() =>setCount(count => count + 1)}>increment</button> 
  6.       <p>{count}</p> 
  7.     </div> 
  8.   ); 
  9. };export default App; 

在以上代碼中,有useState作為hooks,用來(lái)更新計(jì)數(shù)狀態(tài)。

在onClick prop.中使用該代碼。接著傳入了一個(gè)箭頭函數(shù),該函數(shù)調(diào)用 setCount 功能。在這個(gè)代碼里面,還有另一個(gè)箭頭功能來(lái)更新現(xiàn)有的計(jì)數(shù)狀態(tài)。

筆者認(rèn)為不必使用this。傳統(tǒng)功能或bind函數(shù)可以隨時(shí)隨地借助hooks API。hooks API只是變得更簡(jiǎn)潔,使用箭頭功能時(shí)為我們省去了不少麻煩。

帶箭頭功能hooks API的簡(jiǎn)化,使React從基于類(lèi)的組件過(guò)渡到基于函數(shù)的組件。

箭頭函數(shù)對(duì)于操縱數(shù)組非常有用,因?yàn)閿?shù)組方法通常會(huì)在回調(diào)中傳遞,而傳遞回調(diào)的優(yōu)秀方法是使用箭頭函數(shù)。例如,如果要過(guò)濾項(xiàng)目并在React中顯示它們,可以使用filter和map,方法如下:

  1. importReact from "react";const users = [ 
  2.   { user"foo", active: true}, 
  3.   { user"bar", active: false}, 
  4.   { user"baz", active: false
  5. ];const App = () => { 
  6.   return ( 
  7.     <div className="App"
  8.       {users 
  9.         .filter(u => u.active) 
  10.         .map((u, i) => ( 
  11.           <p key={i}>{u.user}</p> 
  12.         ))} 
  13.     </div> 
  14.   ); 
  15. };export default App; 

在上面的代碼中,有user數(shù)組,在應(yīng)用程序通過(guò)調(diào)用帶箭頭函數(shù)的filter,將active設(shè)置為 true。然后通過(guò)map,在由filter返回的數(shù)組上映射user內(nèi)部屬性,以在數(shù)組中呈現(xiàn)用戶名。接著你就能看到屏幕上顯示“ foo”。

箭頭函數(shù)讓代碼簡(jiǎn)短明了,你可以永遠(yuǎn)不必在代碼中寫(xiě)function這個(gè)詞或者處理this這個(gè)值。

默認(rèn)參數(shù)

默認(rèn)參數(shù)可以在代碼中使用默認(rèn)值,將參數(shù)添加到函數(shù)中。在React代碼中,大多使用默認(rèn)參數(shù)以及帶有對(duì)象參數(shù)的解構(gòu)語(yǔ)法,它可以將屬性分解為變量并有選擇地使用。

例如,可以將默認(rèn)參數(shù)寫(xiě)入代碼,如下所示:

  1. importReact from "react";const Greeting = ({ 
  2.   greeting = "hello"
  3.   firstName = "jane"
  4.   lastName = "smith" 
  5. }) => ( 
  6.   <p> 
  7.     {greeting} {firstName} {lastName} 
  8.   </p> 
  9. );const App = () => { 
  10.   return <Greetinggreeting="hi" />; 
  11. };export default App; 

箭頭函數(shù),解構(gòu)和默認(rèn)參數(shù)是JavaScript功能中最有用的兩個(gè)功能,可以看到,React代碼被大大精簡(jiǎn)了,可讀性也增強(qiáng)了。你學(xué)會(huì)了嘛?

 

 

責(zé)任編輯:華軒 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2012-11-30 11:19:02

JavaScript

2014-06-05 16:01:07

2014-04-16 10:50:53

工程師價(jià)值

2020-11-09 07:25:20

函數(shù) JavaScript數(shù)據(jù)

2018-08-22 09:14:26

前端JavascriptReact

2022-11-07 09:02:13

Python編程位置

2020-08-06 08:27:21

JavaScript概念語(yǔ)言

2023-05-10 07:42:26

Java多線程編程

2023-11-27 18:09:46

Redis內(nèi)存數(shù)據(jù)庫(kù)

2022-11-04 13:06:47

JVMJava程序

2018-04-27 14:58:09

Linuxkill命令

2020-02-03 13:55:49

技術(shù)研發(fā)指標(biāo)

2021-11-11 13:05:25

MySQLINSERT

2019-11-20 10:38:36

路由路由協(xié)議路由器

2022-07-19 07:30:06

BigDecimal運(yùn)算float

2010-08-04 09:20:31

JavaScript

2017-01-23 18:22:10

流量聯(lián)通移動(dòng)

2021-01-07 05:40:13

BLE模塊Android

2020-10-04 13:15:37

代碼技術(shù)開(kāi)發(fā)

2018-03-07 22:22:52

物聯(lián)網(wǎng)技術(shù)矩陣邊緣網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)