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

懶惰開發(fā)者需要知道 React Hack

開發(fā) 前端
本篇從八個方面來介紹關(guān)于React Hack的一些用法,懶惰開發(fā)者的福音,快在你的代碼中試試這些小hack吧!

[[441862]]

1. 在渲染表達(dá)式里面使用console.log

如果你想在渲染一個組件時打印它的參數(shù),而你又不想轉(zhuǎn)換它。你可以將console.log與||一起用。

2. 使用 Error 對象跟蹤函數(shù)調(diào)用棧

如果你不知道從何處調(diào)用了函數(shù),你可以在函數(shù)中打印一個 Error 對象,你將在控制臺中獲得堆棧跟蹤:

注意每個日志的第三行,一個是從EnterPasscode.tsx第 106 行調(diào)用的,另一個是從appConfigSaga.ts第 576 行調(diào)用的。

3. 為所有日志添加前綴用于過濾

React 是否在你的控制臺中為你提供了大量關(guān)于 key 和 deprecations 的警告和錯誤,但你懶得修復(fù)它們?

為你的每個 console 添加一個特定的字符串:

然后在控制臺中按該字符串過濾日志:

4. 向 window 對象添加屬性

想知道一個函數(shù)的方法而不想閱讀所有文檔?只需將它添加到 window 對象, 然后你就可以在控制臺中使用它。我一直這樣做,因為我永遠(yuǎn)記不起 moment 返回了哪些函數(shù):

5. 空值合并運算符

大多數(shù)人都知道使用 || 和 && 是一種編寫條件判斷的快捷運算符。但是你知道??嗎?空值合并操作符(??)是一個邏輯操作符,當(dāng)左側(cè)的操作數(shù)為 null 或者 undefined 時,返回其右側(cè)操作數(shù),否則返回左側(cè)操作數(shù)。

這表示,如果state?.bookings 是undefined 則返回{}。

為什么不直接使用||?

而||對于評估一個值是否為"假"非常有用,??只評估是null或者undefined。這很有用,因為你可能正在訪問值為 false 的屬性……

6. 可選鏈操作符?

可選鏈操作符是訪問嵌套對象屬性的安全方式。這意味著在訪問一長串對象屬性時,我們不必進(jìn)行多次空檢查。當(dāng)嘗試訪問可能不存在的對象屬性時,可選鏈操作符將會使表達(dá)式更短、更簡明。

7. console.group

當(dāng) React 導(dǎo)致你的日志一遍又一遍地打印時,console.group 是非常有用的。

假設(shè)我有一個有循環(huán)的函數(shù)。如果我記錄每次循環(huán)迭代的結(jié)果,我會得到大量日志,不僅是循環(huán)記錄每次迭代,而且 React 還在組件重新渲染時一遍又一遍地調(diào)用該函數(shù):

如果我想找出迭代開始和結(jié)束的位置這將花費我很多精力。一種更簡單的方法是用console.group 和 console.groupEnd 包住我的函數(shù)。

現(xiàn)在它對每個渲染的 console 進(jìn)行了分組:

8. 使用 key 屬性強(qiáng)制重新渲染

需要強(qiáng)制刷新一個組件?可以通過添加一個 key 來實現(xiàn)。

從技術(shù)上來說,你可以通過改變 props 來實現(xiàn)。但是 key 是每一個組件都有個屬性,因此你可以在任何組件上使用它,而不必關(guān)系內(nèi)部實現(xiàn)。

本文完??煸谀愕拇a中試試這些小hack吧!

 

責(zé)任編輯:姜華 來源: JavaScript之禪
相關(guān)推薦

2013-06-28 14:19:20

2010-07-30 16:27:06

Flex開發(fā)

2014-07-17 09:31:50

iOS8SDK

2010-03-01 10:20:27

Flex

2011-05-26 11:13:36

Flex

2018-09-29 15:27:05

BinderAPPAndroid

2016-02-22 15:09:19

Android項目管理技巧

2015-08-21 09:47:02

ios9sdk新特性

2017-06-09 13:33:57

2023-06-05 16:50:06

開發(fā)TypeScriptJavaScript

2025-02-25 08:30:00

前端開發(fā)VSCode

2015-11-09 10:50:42

2024-04-26 13:36:01

2013-04-26 09:38:13

go

2013-11-22 15:03:25

開發(fā)者消息推送

2015-09-18 08:41:12

androidM權(quán)限

2015-08-31 09:41:38

androidM權(quán)限

2020-09-29 07:00:00

GitHub開發(fā)者開源

2023-09-11 07:36:35

2021-09-01 09:00:00

開發(fā)框架React 18
點贊
收藏

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