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

vscode 常用扩展插件(工具篇)

欲善工必先利器,本文以vscode编辑器为例子,分享一下笔者常用的vscode工具及技巧,同时也欢迎高手不惜赐教,分享更多的使用技巧,提高工作效率和编程幸福感。...本文分为两个部分,常用插件和使用技巧,欢迎点赞(pai zhuan)。 常用插件 1. Auto Close Tag html自动闭合标签插件,具体不再详述,看插件介绍 2....1. eslint 保存自动格式化 打开 文件 -> 首选项 -> 设置 -> 点击任意一个 ‘在setting.json中编辑’, 打开配置文件,添加一下代码就OK!...代码片段的使用 通过代码片段,可以用预定义快捷,快速生成自定的代码片段,对于开发效率的提高很有裨益。...util", "plugin": "${workspaceRoot}/src/plugin" }, 需要注意的是这里配置的别名路径要和项目里配置的一一对应,可以把配置文件修改放在项目配置里不是全局配置

2.7K30

JSON.stringify方法的5个秘密功能

因此,我们使用JSON.stringify()首先将对象转换为字符串,然后像这样在控制台中进行打印。...console.log(JSON.stringify(product,['name']); // 结果 {"name" : "Cake"} 解决了问题,不是打印整个JSON对象,我们可以通过将所需的作为数组传递给第二个参数来打印所需的...// 结果 { "age" : 26 } 打印年龄,因为我们的函数参数,判断条件返回的typeOf String未定义。 3:第三个参数为Number 第三个参数控制最终字符串中的缩进间距。...JSON.stringify返回此函数的结果并将其字符串化,不是将整个对象转换为字符串。...(user)); // 结果 // "{ "fullName" : "foo bar"}" 在这里,我们可以看到不是打印整个对象,而是打印toJSON函数的结果。

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

Immer使用指南

React 作为当前前端最受欢迎的框架之一,极大的提升了前端开发效率。 拥有庞大的开发者群体,社区也非常活跃,因此围绕 React 也产出了非常多的第三方库。 Immer 就是其中之一。...深度更新轻而易举,不需要人工考虑数据结构会被影响或者遗漏。 5. 使用简单,能使代码更简洁。 6. 对JSON补丁的一流支持 7....体积小,gzipped 压缩后3 kb ---- 二、Immer的使用场景 应用的场景有: 1. 用于 React 的 state 的变更。...当然,这个返回的 copy 对象并不是原对象的完全 copy, 只是在原对象的基础上加上了相关变更数据,然后返回这个综合对象。...也就是说,immer 的根本目的是为了处理“不可变对象”存在的(比如 React 的 state)。 为什么说是为了处理不可变对象呢? 对普通对象难道不行吗? 最好不要。

1.6K20

react-native-easy-app 详解与使用之(二) fetch

fetch很相似,execute('get')方法返回的是一个promise对象,故也可以像fetch一样,发送同步或异步请求。...但在实际的App开发中,我们Http请求框架的要求不只是能发送简单的Http请求就可以了,比如说,需要打印请求日志、设置header参数、统一处理解析逻辑,甚至可能处理返回的结构不是标准的json数据等各种需求.../movies.json').get((success, json, message, status) => { }) [httplog.png] 可以看出控制台打印出了详细的日志,是不是很方便?...true的时候才认为是成功 json => json.ticker 直接读取json.ticker的(若为空,则返回一个没有任何属性对象) message => json.error || message...(JSON.stringify(response.headers)) 也有同学可能想到有一种应用场景oauth2需要特别处理: 发送请求req1,因为accessToken失效请求失败 程序通过refreshToken

2.6K10

104.精读《Function Component 入门》

但这种方案有个问题,就是使用 useRef 替代了 useState 创建,那么很自然的问题就是,如何不改变原始的写法,达到同样的效果呢? 如何不改造原始打印 3 3 3?...这个例子中,我们告诉 React当 value 的变化了,再将其最新同步给 ref.current。...最新永远与入参同步。...eslint-plugin-react-hooks 会自动补上更新后的依赖,下游的代码不需要做任何改变,下游只需要关心依赖了 fetchData 这个函数即可,至于这个函数依赖了什么,已经封装在 useCallback... useContext + useMemo 的场景: 由于注入的 state 是全量的,Render 函数中想用什么都可直接用,在按保存时,eslint-plugin-react-hooks 会通过静态分析

1.7K20

前端开发者们,这些知识tips你必须知道

按Enter,将使用默认文件名和位置生成密钥。如果您希望使用不同的文件名或位置,请根据需要进行更改。 然后系统会提示您输入一个密码以保护您的密钥。如果您不想添加密码,可以直接按Enter。...target="_blank" 用于在新窗口或者新标签页中打开链接,不是在当前页面打开链接。 rel="noopener noreferrer" 是一个安全属性,主要用于保护用户隐私安全。...但是利用vite构建的web应用程序,控制台输入console.log(process.env),是能打印出东西的: 在Vite开发环境下,并不是直接运行在浏览器中的,而是先通过Node.js对代码进行预处理...在开发环境下,也可以在控制台中打印出process.env对象,但是这并不是直接访问操作系统的环境变量,而是打印出了当前应用程序中注入的环境变量。...安装依赖: pnpm install cross-env 此时便可以在package.json中设置我们的环境变量: 此时控制台打印环境变量的,便可以看到环境变量被注入了: 20、使用vite-plugin-html

34410

前端开发者必须知道的日常小技巧!

按Enter,将使用默认文件名和位置生成密钥。如果您希望使用不同的文件名或位置,请根据需要进行更改。 然后系统会提示您输入一个密码以保护您的密钥。如果您不想添加密码,可以直接按Enter。...target="_blank" 用于在新窗口或者新标签页中打开链接,不是在当前页面打开链接。 rel="noopener noreferrer" 是一个安全属性,主要用于保护用户隐私安全。...但是利用vite构建的web应用程序,控制台输入console.log(process.env),是能打印出东西的: 在Vite开发环境下,并不是直接运行在浏览器中的,而是先通过Node.js对代码进行预处理...在开发环境下,也可以在控制台中打印出process.env对象,但是这并不是直接访问操作系统的环境变量,而是打印出了当前应用程序中注入的环境变量。...安装依赖: pnpm install cross-env 此时便可以在package.json中设置我们的环境变量: 此时控制台打印环境变量的,便可以看到环境变量被注入了: 20、使用vite-plugin-html

17810

前端项目里都有啥?

tsconfig.node.json Vite 本身(包括配置)是在 Node 内的计算机上运行的, Node 是完全不同的环境(与浏览器相比),具有不同的应用程序接口和限制条件。...的属性,为husky install。...它们是 React 组件,可以在其子组件树中的任何位置捕获 JavaScript 错误,记录这些错误,并显示「回退 UI」,不是崩溃的组件树。...❝最适合你项目的React状态管理库取决于你和你团队的具体需求和专业知识 ❞ 请不要:基于项目大小和复杂性选择库。因为我们可能在某处听说过X更适合大型项目,Y更适合较小的项目。...库的作者在设计库时考虑了可扩展性,项目的可扩展性取决于我们如何编写代码和使用库,不是我们选择使用哪些库。 13.

21610

前端高频面试题及答案整理(一)

图片如上图所示,以A为根节点的整棵树会被重新创建,不是移动,因此 官方建议不要进行DOM节点跨层级操作,可以通过CSS隐藏、显示节点,不是真正地移除、添加DOM节点component diffReact...注意:如果组件D和组件G的结构相似,但是 React判断是 不同类型的组件,则不会比较结构,而是删除 组件D及其子节点,创建组件G及其子节点。...Preact 可以在一些对性能要求不高,需要渲染框架的简单场景下应用。...因为 JSON 的语法是基于 js 的,因此很容易将 JSON 和 js 中的对象弄混,但是应该注意的是 JSON 和 js 中的对象不是一回事,JSON 中对象格式更加严格,比如说在 JSON 中属性不能为函数...JSON.parse() 函数,这个函数用来将 JSON 格式的字符串转换为一个 js 数据结构,如果传入的字符串不是标准的 JSON 格式的字符串的话,将会抛出错误。

1.3K20

带你入门云开发实践总结篇

使用{}包围的定义为动态变量,可以引用数据源中的。例如`{env.ENV_ID}: 第一步:在项目根目录下创建 cloudbaserc.json 和 .env 文件 ....Framework 框架将静态网站一部署云开发环境,提供生产环境可用的 CDN 加速、自动弹性伸缩的高性能网站服务。...节约成本: 资源伸缩,弹性扩缩容,灵活计费,极大节约资源成本 极简配置:自动检测框架,无须配置,同时支持没有使用框架的纯静态项目 框架支持: 无缝支持原生和前端框架构建的项目 Vue React Next...# 初始化react项目 tcb new react-demo 编写cloudbaserc.json {   "version": "2.0",   "envId": "test-xx",   "$schema...,必须选中云函数文件夹,否则会因为无法解析到准确的函数名称,导致操作失败。

5.5K21

在 localStorage 中持久化 React 状态

在本教程中,我们将了解如何创建自定义 React 钩子,来编写信息保存本地功能,以便我们在需要时使用它。... useStickyState 钩子函数传递两个参数,第一个参数也是初始。第二个参数是我们要设置或者获取 localStorage (key)。你给定 key 的需要唯一。...这使得我们可以给 useState 传递一个函数,不是一个。当状态 state 被创建时,这个函数只是在组件第一次渲染被执行。...JSON.parse(stickyValue) : defaultValue; }); 在我们的案例中,我们使用它来检查 localStorage 中的。...如果存在,我们将使用作为我们的初始。否则,我们将使用钩子函数传递的默认(在我们先前的例子中,默认是 day)。

3K20

react】利用shouldComponentUpdate钩子函数优化react性能以及引入immutable库的必要性

凡是参阅过react官方英文文档的童鞋大体上都能知道对于一个组件来说,state的改变(调用this.setState()方法)以及从父组件接受的props发生变化时,会导致组件重渲染,正所谓"学而不思则罔...我们有三种方式: 1.ES6的扩展语法Object.assign()//react官方推荐的es6写法 2深拷贝/浅拷贝或利用JSON.parse(JSON.stringify(data))//相当于深拷贝...,但使用受一定限制,具体的童鞋们可自行百度 3 immutable.js//react官方推荐使用的第三方库,目前github上20K star,足见火热 4 继承react的PureComponent...所以我们可以随心所欲地像使用普通基本类型变量复制 (a=b)那样对对象等引用类型赋值(obj1 = obj2)不用拷贝新对象 2对于immutable对象,你不能再用obj.属性名那样取值了,你必须使用...immuutable提供的API fromJS(obj)把传入的obj封装成immutable对象,在赋值给新对象时传递的只有本身的不是指向内存的地址。

1.3K120

第二十九课 如何实现MetaMask签名授权后DAPP一登录功能?

整个过程需要几秒钟不是几分钟。 社交媒体登录集成的缺点: 由于用户的信息是从外部提供商处加载的,因此这会对提供商如何使用所有这些个人数据产生巨大的隐私担忧。...3, 如何使用Metamask进行一式登录流程 一式登录流程的基本思想是,通过使用私钥对一段数据进行签名,可以很容易地通过加密方式证明帐户的所有权。..., web3.eth.coinbase, console.log); 此命令表示:使用coinbase帐户(即当前帐户)将我的消息(从utf8转换为十六进制)进行签名,并以打印作为回调函数打印出签名。...此外,我决定签署一个更加用户友好的句子,不是签署nonce,因为它将显示在MetaMask确认弹出窗口中:I am signing my once-time nonce: ${nonce}。...以下是为什么此登录流程优先于电子邮件/密码和社交登录的参数列表: 提高安全性:公钥加密的所有权证明可以说比通过电子邮件/密码或第三方证明所有权更安全,因为MetaMask在您的计算机本地存储凭据,不是在线服务器

11K52

JSON神器之jq使用指南指北

使用此选项将通过将每个 JSON 对象放在一行中来生成更紧凑的输出。 --tab: 每个缩进级别使用一个制表符,不是两个空格。...--raw-output/ -r: 使用此选项,如果过滤器的结果是字符串,那么它将直接写入标准输出,不是格式化为带引号的 JSON 字符串。...--nul-output/ -0: 像-r,但 jq 将在每次输出后打印 NUL 不是换行符。当输出的可以包含换行符时,这可能很有用。...如果您想使用这种形式的“或”,在两个之间进行选择不是评估条件,请参阅下面的“//”运算符。...流式操作 使用--stream选项 jq 可以以流方式解析输入文本,允许 jq 程序立即开始处理大型 JSON 文本,不是在解析完成后。

28.1K30

什么是 TypeScript 4.1 中的模板字面类型?

: boolean }; 如果你想创建新或过滤掉,TypeScript 4.1 允许你使用新的 as 子句重新映射映射类型中的: type MappedTypeWithNewKeys =.../tsconfig.json", "compilerOptions": { "jsx": "react-jsxdev" } } 如下图所示,TypeScript 4.1 支持在像 React...这意味着如果我们需要访问上一个示例中的 opts.path 之类的属性,则必须检查是否存在或使用非 null 断言运算符(后缀 !...该文件自动包含在 TypeScript 项目的编译上下文中。 您可以通过指定 --noLib 编译器命令行标志或在 tsconfig.json 中配置 noLib 为 true 来排除它。...somethingElse: { someProp: string }; let x = foo && somethingElse; 在 TypeScript 4.1 中, any 和 unknown 都将向外传播,不是在右侧传播

3.9K10
领券