服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - React - 懒惰开发者需要知道 React Hack

懒惰开发者需要知道 React Hack

2021-12-24 19:58JavaScript之禅刘星 React

本篇从八个方面来介绍关于React Hack的一些用法,懒惰开发者的福音,快在你的代码中试试这些小hack吧!

懒惰开发者需要知道 React Hack

1. 在渲染表达式里面使用console.log

如果你想在渲染一个组件时打印它的参数,而你又不想转换它。你可以将console.log与||一起用。

懒惰开发者需要知道 React Hack

2. 使用 Error 对象跟踪函数调用栈

如果你不知道从何处调用了函数,你可以在函数中打印一个 Error 对象,你将在控制台中获得堆栈跟踪:

懒惰开发者需要知道 React Hack

懒惰开发者需要知道 React Hack

注意每个日志的第三行,一个是从EnterPasscode.tsx第 106 行调用的,另一个是从appConfigSaga.ts第 576 行调用的。

3. 为所有日志添加前缀用于过滤

React 是否在你的控制台中为你提供了大量关于 key 和 deprecations 的警告和错误,但你懒得修复它们?

为你的每个 console 添加一个特定的字符串:

懒惰开发者需要知道 React Hack

然后在控制台中按该字符串过滤日志:

懒惰开发者需要知道 React Hack

4. 向 window 对象添加属性

想知道一个函数的方法而不想阅读所有文档?只需将它添加到 window 对象, 然后你就可以在控制台中使用它。我一直这样做,因为我永远记不起 moment 返回了哪些函数:

懒惰开发者需要知道 React Hack

懒惰开发者需要知道 React Hack

5. 空值合并运算符

大多数人都知道使用 || 和 && 是一种编写条件判断的快捷运算符。但是你知道??吗?空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。

懒惰开发者需要知道 React Hack

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

为什么不直接使用||?

而||对于评估一个值是否为"假"非常有用,??只评估是null或者undefined。这很有用,因为你可能正在访问值为 false 的属性……

懒惰开发者需要知道 React Hack

6. 可选链操作符?

可选链操作符是访问嵌套对象属性的安全方式。这意味着在访问一长串对象属性时,我们不必进行多次空检查。当尝试访问可能不存在的对象属性时,可选链操作符将会使表达式更短、更简明。

懒惰开发者需要知道 React Hack

7. console.group

当 React 导致你的日志一遍又一遍地打印时,console.group 是非常有用的。

假设我有一个有循环的函数。如果我记录每次循环迭代的结果,我会得到大量日志,不仅是循环记录每次迭代,而且 React 还在组件重新渲染时一遍又一遍地调用该函数:

懒惰开发者需要知道 React Hack

如果我想找出迭代开始和结束的位置这将花费我很多精力。一种更简单的方法是用console.group 和 console.groupEnd 包住我的函数。

懒惰开发者需要知道 React Hack

现在它对每个渲染的 console 进行了分组:

懒惰开发者需要知道 React Hack

8. 使用 key 属性强制重新渲染

需要强制刷新一个组件?可以通过添加一个 key 来实现。

懒惰开发者需要知道 React Hack

从技术上来说,你可以通过改变 props 来实现。但是 key 是每一个组件都有个属性,因此你可以在任何组件上使用它,而不必关系内部实现。

本文完。快在你的代码中试试这些小hack吧!

原文链接:https://mp.weixin.qq.com/s/V3qny8sle3r9xGKXPZ8DEw

延伸 · 阅读

精彩推荐
  • Reactreact-native 实现购物车滑动删除效果的示例代码

    react-native 实现购物车滑动删除效果的示例代码

    这篇文章主要介绍了react-native 实现购物车滑动删除效果的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    程序猿tx3902021-12-31
  • ReactReact tsx生成随机验证码

    React tsx生成随机验证码

    这篇文章主要为大家详细介绍了React tsx生成随机验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    laipengfei196252022-03-09
  • React详解React Fiber的工作原理

    详解React Fiber的工作原理

    这篇文章主要介绍了React Fiber的工作原理的相关资料,帮助大家更好的理解和学习使用React框架,感兴趣的朋友可以了解下...

    陌上兮月7942022-03-08
  • Reactreact如何用懒加载减少首屏加载时间

    react如何用懒加载减少首屏加载时间

    这篇文章主要介绍了react如何利用懒加载减少首屏加载时间,帮助大家更好的理解和学习使用react,感兴趣的朋友可以了解下...

    阿政想暴富7412022-03-03
  • Reactreact diff算法源码解析

    react diff算法源码解析

    这篇文章主要介绍了react diff算法源码解析的相关资料,帮助大家更好的理解和学习使用react,感兴趣的朋友可以了解下...

    zhangyu5632022-02-27
  • React深入理解React Native核心原理(React Native的桥接(Bridge)

    深入理解React Native核心原理(React Native的桥接(Bridge)

    这篇文章主要介绍了深入理解React Native核心原理(React Native的桥接(Bridge),本文重点给大家介绍React Native的基础知识及实现原理,需要的朋友可以参考下...

    Gavell9712022-02-23
  • ReactReact html中使用react的两种方式

    React html中使用react的两种方式

    这篇文章主要介绍了React html中使用react的两种方式,本文给大家提到了React pwa的配置代码,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴...

    愚公搬代码6422022-02-23
  • Reactreact获取input输入框的值的方法示例

    react获取input输入框的值的方法示例

    这篇文章主要介绍了react获取input输入框的值的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    Pinkh8222022-02-24