您好,登錄后才能下訂單哦!
這篇文章給大家介紹精通React需要掌握JavaScript概念是怎樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
想要確定一個人是否掌握React,考考他最新的JavaScript語法就可以了。JavaScript語法對于理解React至關重要,它能讓我們更加容易地閱讀日志,編寫出更簡潔的React代碼。
一旦掌握了一些新的JavaScript語法,編寫React代碼將變得輕而易舉。來看看精通React不可缺少的關鍵概念吧!
箭頭功能
箭頭功能非常重要,它讓功能變得更短,更整潔,并且不必擔心this。現在,React有了hooks API,就可以在任何地方使用箭頭功能了。
例如,可以將箭頭函數與hooks API結合使用,如下所示:
importReact from "react"; const App = () => { return <divclassName="App">foo</div>; };export default App;
在上面的代碼中,使用箭頭函數定義了一個非常簡單的React組件。該代碼僅顯示靜態文本,但是可以通過動態功能輕松地對其進行擴展。
你還可以編寫以下代碼,將hooks添加到應用程序零件中:
importReact, { useState } from "react"; const App = () => { const [count, setCount] =useState(0); return ( <div className="App"> <button onClick={() =>setCount(count => count + 1)}>increment</button> <p>{count}</p> </div> ); };export default App;
在以上代碼中,有useState作為hooks,用來更新計數狀態。
在onClick prop.中使用該代碼。接著傳入了一個箭頭函數,該函數調用 setCount 功能。在這個代碼里面,還有另一個箭頭功能來更新現有的計數狀態。
筆者認為不必使用this。傳統功能或bind函數可以隨時隨地借助hooks API。hooks API只是變得更簡潔,使用箭頭功能時為我們省去了不少麻煩。
帶箭頭功能hooks API的簡化,使React從基于類的組件過渡到基于函數的組件。
箭頭函數對于操縱數組非常有用,因為數組方法通常會在回調中傳遞,而傳遞回調的優秀方法是使用箭頭函數。例如,如果要過濾項目并在React中顯示它們,可以使用filter和map,方法如下:
importReact from "react";const users = [ { user: "foo", active: true}, { user: "bar", active: false}, { user: "baz", active: false} ];const App = () => { return ( <div className="App"> {users .filter(u => u.active) .map((u, i) => ( <p key={i}>{u.user}</p> ))} </div> ); };export default App;
在上面的代碼中,有user數組,在應用程序通過調用帶箭頭函數的filter,將active設置為 true。然后通過map,在由filter返回的數組上映射user內部屬性,以在數組中呈現用戶名。接著你就能看到屏幕上顯示“ foo”。
箭頭函數讓代碼簡短明了,你可以永遠不必在代碼中寫function這個詞或者處理this這個值。
默認參數
默認參數可以在代碼中使用默認值,將參數添加到函數中。在React代碼中,大多使用默認參數以及帶有對象參數的解構語法,它可以將屬性分解為變量并有選擇地使用。
例如,可以將默認參數寫入代碼,如下所示:
importReact from "react";const Greeting = ({ greeting = "hello", firstName = "jane", lastName = "smith" }) => ( <p> {greeting} {firstName} {lastName} </p> );const App = () => { return <Greetinggreeting="hi" />; };export default App;
箭頭函數,解構和默認參數是JavaScript功能中最有用的兩個功能,可以看到,React代碼被大大精簡了,可讀性也增強了。你學會了嘛?
關于精通React需要掌握JavaScript概念是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。