首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你不知道的 React 最佳实践

您有一个大的 CSS (SCSS)文件,您可以使用全局前缀后跟 Block-Element-Modifier 约定来避免名称冲突。 当应用程序变大,这种方法是不可伸缩的。...最佳实践 components 文件夹创建一个 __test__ 文件夹。 使用组件的名称作为测试文件 . test.js 的前缀....使用 React Developer Tools?️ React 开发工具是 Chrome[19] 和 Firefox[20] 的扩展。...正如你所看到的,React Developer Tools 扩展对于测试和调试来说是非常有价值的工具,并且可以真正理解这个应用程序发生了什么。 总结 ✌️ 本文描述了 React 的最佳实践。...: https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?

3.2K10

10 种 JavaScript 最常见的错误

当你读取一个未定义的对象的属性或调用其方法,这个错误会在 Chrome 中出现。 您可以很容易的 Chrome 开发者控制台中进行测试。 ?...您可以 Safari Developer Console 轻松测试。这与第一点提到的 Chrome 的错误基本相同,但 Safari 使用了不同的错误消息提示语。 ?...您可以 Safari Developer Console 轻松测试。 ?...我们工作,这种错误可能发生的一种场景是:如果在加载元素之前尝试 JavaScript 中使用元素。 因为 DOM API 对于空白的对象引用返回值 null。...ReferenceError: event is not defined 您尝试访问未定义的变量或超出当前作用域的变量,会引发此错误。 您可以 Chrome 浏览器测试。 ?

8.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

程序员的你是否熟练掌握Chrome开发者工具?

还有一点就是可以Source标签元素面板查看元素属性,比如通过ajax返回的数据对象封装到data,我们设置断点后直接将鼠标放到数据data可以看到其中返回的是什么样的数据,比如data...是实体对象的每个属性字段值。...开发人员决定采用修改之后的脚本,需要将其复制到脚本的源文件。...使用控制台打印变量值或方法的返回结果 断点被触发进入到调试模式,我们可以将当前任意存在的变量或方法输入到控制台中,按下回车后,控制台便会返回相关的结果。...写在最后 我们借助 Chrome 开发者工具的支持,可以提高网页应用程序开发与调试的效率。想了解更多,请参考资料Chrome Developer Tools 官方文档

1.1K40

mask

这个属性很类似于background属性,但不同的是,background是背景元素下层,mask是遮罩在元素上层,且mask不支持直接指定color,只支持image对象如图片、svg等 同样两者都是组合属性...mask: url(https://waibi.oss-cn-chengdu.aliyuncs.com/blog/vampireachao/bilibili-line.svg) no-repeat; 但我们chrome.../blog/vampireachao/bilibili-line.svg) no-repeat; 后续所有mask-*属性chrome里都需要该前缀,上述代码我们编写一串代码看看效果 <div class...mask是什么意思?mask最近为什么这么火呢?看完mask后我都惊呆了! 大家都知道,mask最近很火,究竟是为什么很火呢?mask到底是什么梗?...以上就是小编为大家带来的的关于mask是什么意思,mask是什么梗的内容。 欢迎大家评论区和小编一起讨论,畅所欲言。

66140

JavaScript 内存泄露的4种方式及如何避免

它们被定义不可回收(除非定义空或重新分配)。尤其全局变量用于临时存储和处理大量信息,需要多加小心。如果必须使用全局变量存储大量数据,确保用完以后把它设置 null 或者重新定义。...此时,同样的 DOM 元素存在两个引用:一个 DOM 树,另一个字典。将来你决定删除这些行时,需要把两个引用都清除。 ? 此外还要考虑 DOM 树内部或子节点的引用问题。...timeline 可以检测代码不需要的内存。在此截图中,我们可以看到潜在的泄露对象稳定的增长,数据采集快结束,内存占用明显高于采集初期,Node(节点)的总量也很高。...以 Chrome 文档的代码例: ? grow 执行的时候,开始创建 div 节点并插入到 DOM ,并且给全局变量分配一个巨大的数组。通过以上提到的工具可以检测到内存稳定上升。... Chrome 打开例子,打开 Dev Tools ,切换到 timeline,勾选 memory 并点击记录按钮,然后点击页面上的 The Button 按钮。过一阵停止记录看结果: ?

4.7K52

JavaScrip最容易犯的十大错误及其避免方法()

您异步获取数据,组件将在加载数据之前至少呈现一次 - 无论是构造函数,componentWillMount还是componentDidMount获取它。...您可以IE Developer Console对此进行测试。 这相当于Chrome的错误“TypeError:’undefined’不是函数”。...因此,使用JS命名空间最安全的选择是始终使用实际命名空间作为前缀。 Rollbar.isAwesome(); 6....Uncaught RangeError 这是几种情况下Chrome中发生的错误。 一种是当你调用一个不终止的递归函数。 您可以Chrome开发者控制台中对此进行测试。 8....ReferenceError: event is not defined 您尝试访问未定义或超出当前范围的变量,将引发此错误。 您可以Chrome浏览器轻松测试它。

11610

Debug的那些事儿

我们写代码的多多少少有一些出错的几率,掌握Debug还是很重要的,记得第一次入行写企业系统,对此一无所知,后来还是去网路上以及问前辈,我印象还是博客园里看到有人用firebug,才知道原来有firefox...不客气的说,为了兼容IE,费了我们很大的精力,处理诸 * 号之类的特殊样式,脚本上会处理像window.event这样的event对象,有意思的是,我们依然很少会打开IE的开发者调试工具,只有到了“山穷水尽...说实话,调试这门手艺活儿,时至今日的演变,我又很少使用Chrome dev tool了,而是用VS code自带的debug来调试,在编辑器完成几乎80%以上的工作。...为了用好,推荐大家有时间,阅读: https://developers.google.com/web/tools/chrome-devtools/?...hl=zh-cn https://developer.chrome.com/devtools 这个工具可以带来的会是更多的东西,想想Node.js,想想Weex,你就会发现确实的牛逼

49320

JavaScript 风格指南

dispatch(location); }); 避免重复的描述 类/对象名已经有意义,对其变量进行命名不需要再次重复。...确实需要多个参数,大多情况下可以考虑这些参数封装成一个对象。 JS 定义对象非常方便,需要多个参数,可以使用一个对象进行替代。...然而,使用 getters 和 setters 获取对象的数据远比直接使用点操作符具有优势。为什么呢? 需要对获取的对象属性执行额外操作。 执行 set 可以增加规则对要变量的合法性进行判断。... JS 一个类需要许多参数设置才能生成一个对象,或许大多时候不需要设置这么多的参数。此时减少对配置参数数量的需求是有益的。...需要继承,优先选用 classes。 但是,当在需要更大更复杂的对象,最好优先选择更小的 function 而非 classes。

78520

10 种最常见的 Javascript 错误

当你读取一个未定义的对象的属性或调用其方法,这个错误会在 Chrome 中出现。 您可以很容易的 Chrome 开发者控制台中进行测试(尝试)。 ?...您可以 Safari Developer Console 轻松测试。这与 1 中提到的 Chrome 的错误基本相同,但 Safari 使用了不同的错误消息提示语。 ? 3....您可以 Safari Developer Console 轻松测试。 ?...现实世界的例子,这种错误可能发生的一种场景是:如果在加载元素之前尝试 JavaScript 中使用元素。 因为 DOM API 对于空白的对象引用返回值 null。...ReferenceError: event is not defined 您尝试访问未定义的变量或超出当前范围的变量,会引发此错误。 您可以 Chrome 浏览器轻松测试。 ?

6.8K80

Devtools 老师傅养成 - Sources 面板

Chrome Developer Tools v2 课程[3] 参考 3:来自 作者 Tomek Sułkowski medium 的系列文章[4] Devtools脑图.png[5] Sources...连接本地文件来使用开发者工具的实时编辑器 七种断点类型 行断点:代码运行到当前行之前暂停执行 源代码添加debugger关键字 或者点击Sources面板的源代码的行号 条件行断点:满足条件才会触发该断点...(此处的 BlackBox 动词), Call Stack 堆栈中会将该脚本隐藏,单步调试也不会步入脚本的任何函数 function animate() { prepare(); lib.doFancyStuff...Javascript source maps和Enable CSS source maps source map 映射信息存在 json 对象,保存在 .map 文件,可以由编译程序添加注释//#.../chrome-devtools/ [3] Mastering Chrome Developer Tools v2 课程: https://frontendmasters.com/courses/chrome-dev-tools-v2

1.7K31

1000个项目中前10名的JavaScript错误介绍

当你读取一个未定义的对象的属性或调用其方法,这个错误会在 Chrome 中出现。 您可以很容易的 Chrome 开发者控制台中进行测试(尝试)。...异步获取数据,不管它是构造函数componentWillMount还是componentDidMount获取的,组件在数据加载之前至少会呈现一次, Quiz 第一次呈现时,this.state.items...您可以 Safari Developer Console 轻松测试。这与 1 中提到的 Chrome 的错误基本相同,但 Safari 使用了不同的错误消息提示语。 3....您可以 Safari Developer Console 轻松测试。...ReferenceError: event is not defined 您尝试访问未定义的变量或超出当前范围的变量,会引发此错误。 您可以 Chrome 浏览器轻松测试。

6.2K10

Devtools 老师傅养成 - Memory 内存

Chrome Developer Tools v2 课程[3] 参考 3:来自 作者 Tomek Sułkowski medium 的系列文章[4] Devtools脑图.png[5] 内存 &...DOM 节点存储原生内存。如果此值正在增大,则说明正在创建 DOM 节点。 JavaScript Memory列表示 JS 堆。此列包含两个值。实际大小表示页面上的对象正在使用的内存量。...如果此数字增大,要么是正在创建新对象,要么是现有对象正在增长。...,即可点击左上角record开始记录内存 Heap snapshot堆快照,记录当前时间点内存页面 js 对象和 dom 节点的分配情况 Allocation instrumentation on timeline.../chrome-devtools/ [3] Mastering Chrome Developer Tools v2 课程: https://frontendmasters.com/courses/chrome-dev-tools-v2

1.4K42

JavaScript面向对象编程-第三版不完全系统解读

2、面向对象编程 先给下原文描述: 我来参考翻译一下,不当之处,请大家指正和补充: 深入讲解JavaScript之前,我们先看一下通常人们所说的面向对象是什么,以及在编程的要求。...蜂鸟和鹰都是鸟,因此它们可以被归Birds类。OOP编程思想,一个类被看成一个创建对象(东西)的蓝图或者一个模板。对象的另外一个名称就是实例,所以我们可以说鹰鸟类的一个实例。...ver hero = {};这句话意思是,该对象不是空的,只是没有使用的意思!...(){ return this.name; //表示当前对象的成员 } }; //呼叫对象的方法 hero.sayName(); 当我们使用this值,表示我们就是说该对象或者说是当前对象意思...我们简单的复制原型是非常有效的,但是只是单方向的有效,因为所有子对象的原型和父对象的原型都是指向相同的对象,因此有一个子对象修改原型属性,那么父对象也会变化,并且它的兄弟对象也会改变。

46230

0202年了, Chrome DevTools 你还只会console.log吗 ?

当你元素面板选择一个元素或在分析器面板选择一个对象,记录都会存储。可以使用 $x来操作历史栈,x 是从 0 开始计数的,所以 $0 表示最近选择的元素, $4 表示最后选择的元素。 ?...事件监听器 monitorEvents(object[, events])/unmonitorEvents(object[, events]) monitorEvents(object[, events]),指定的对象上发生指定的事件之一...重写 Overrides Chrome DevTools 上调试 css 或 JavaScript ,修改的属性值重新刷新页面,所有的修改都会被重置。...workspaces 快捷键 访问 DevTools 访问 DevTools Windows Mac 打开 Developer Tools (上一次停靠菜单) F12、Ctrl + Shift + I...Cmd + Opt + I 打开/切换检查元素模式和浏览器窗口 Ctrl + Shift + C Cmd + Shift + C 打开 Developer Tools 并聚焦到控制台 Ctrl + Shift

1.2K20

Google Chrome不仅仅是浏览器

Google Chrome除了本身极快速的响应外,还有很多插件和功能值得推荐使用的,下面就粗略介绍一下这些宝藏,快快pick起来,你的日常开发工作增添一双起飞的翅膀!...02 — Web Developer Tools https://chrome.google.com/webstore/category/ext/11-web-development?...上面只是简单介绍了一些常用几个Developer Tools工具,更多技能等你们去打卡和挖掘。...开发者调试 相信很多前端或者全栈开发人员都用过这个功能,很多场景都会用到这个工具,开发页面尤其是调试前端和后台的API接口,简单的按F12或者点击浏览器的“开发者工具”即可弹出。...是什么让谷歌Chrome能够短短十年内进入一个全新的行业,并且占据主导地位呢?答案是:从根本上彻底改造浏览器。 谷歌从一开始就把Chrome视为一个平台。

61410

React教程(详细版)

Tools ) 这里工具的具体安装方式就不多说了,由两种方式,一种是翻墙,直接在chrome浏览的商城去下载,还有一种方式是浏览器扩展程序打开开发者模式,然后导入已下载的插件文件即可 3.2...原因就写在图中,那我们要怎么处理才能让该方法拿到该组件的实例对象呢?来,看下面。。 构造函数中加一句这个语句就可以了,那这行代码是什么意思呢?...构造函数的this永远指向该组件的实例对象,所以=右侧意思就是该组件实例对象自身此时还没有该方法,他就会去原型对象上看有没有,显然这里是有的,然后调用bind方法,该方法做两件事,一、创建一个新的函数...) 组件render的this指的是组件实例对象 状态数据不能直接赋值,需要用setState() 组件自定义方法的thisundefined,怎么解决?...第一次页面刚进来执行render渲染的时候,react会把当前节点当成参数赋值给组件实例,组件更新的时候(状态改变),它又会执行一次render,这个时候,react官方说明了这点,它会执行两次,

1.6K20

Android:Tools命名空间原来是有大用处的

说明 应用范围 xml的任意元素 作用对象 Lint Lint 是AndroidStudio提供的代码扫描工具 具体作用 让Lint 工具检查代码忽略指定的错误。...说明 应用范围 view 作用对象 Android Studio布局编辑器 具体作用 将view的任意属性值的 android 前缀替换为 tools 之后,就可以实现预览效果。...以tools 命名空间的属性值只预览时有效。...testlayout的布局包含一个 RecyclerView,并通过 itemCount 设置的预览展示的条数4(参考 tools:itemCount) ?...说明 应用范围 作用对象 开启了资源压缩的构建工具 具体作用 取值说明 使用资源压缩工具去除一些无用资源,使用该属性可以指明一些需要手动删除的资源 (比如:被引用了但是未能生效的资源

1.5K40

渐进式Web应用入门-ServiceWorker

即使比较糟糕的网络环境下,也能够快速地加载,且能够推送相关消息, 也可以像原生应用那样添加至桌面或浏览器主屏,能够有全屏浏览的体验。 PWA 和 Service Worker 是什么关系?...activate,判断当前页面是否在上文声明的 filesToCache 列表,如果是则接管网页的显示。...这两个事件一个是网络请求,或者其他网页发出了消息。 本文只讲如何让你的网页无网络也能访问,没有讲这两个事件,下一篇文章再给大家讲讲 service worker 深度使用。...调试 用 Chrome Developer Tools 调试 Service Worker 非常方便。...首先 run 起你本地的 server(我博客是 jekyll 生成的,所以直接用了 jekyll 服务),然后 Chrome 右上角三个点,More ToolsDeveloper Tools

66330

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券