Typescript & React & optional parameters & default parameters
Typescript & React & optional parameters & default parameters
Typescript & optional parameters
https://www.typescriptlang.org/docs/handbook/functions.html#optional-and-default-parameters
ESLint warning bug & Typescript & optional parameters
typescript optional parameters warnings
https://stackoverflow.com/questions/tagged/visual-studio-code
https://github.com/microsoft/vscode/issues/83056



vscode ts 的error信息可以去掉;settings.json 加上这句 "javascript.implicitProjectConfig.experimentalDecorators": true
{
"resource": "/Users/xgqfrms/ubt/src/pages/ManagePage/PointCheck/CheckDetail/index.js",
"owner": "typescript",
"code": "1219",
"severity": 8,
"message": "Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.",
"source": "ts",
"startLineNumber": 27,
"startColumn": 7,
"endLineNumber": 27,
"endColumn": 18
}
ESLint & max-lines
https://eslint.org/docs/rules/max-lines
/* eslint-disable */
"max-lines": [
"error",
{
"max": 500,
"skipBlankLines": true ,
"skipComments": true
}
],
.eslintrc
{
"extends": ["eslint-config-umi", "standard", "standard-jsx", "standard-react"],
"rules": {
"no-console": 2, //0,1,2
/**
* 禁止使用 debugger
*/
"no-debugger": "error",
// 禁止使用var
"no-var": "error",
// 使用分号
"semi": ["error", "always"],
"space-before-function-paren": [
"error",
{ "anonymous": "always", "named": "never", "asyncArrow": "always" }
],
"comma-dangle": ["error", "always-multiline"],
"generator-star-spacing": ["error", { "before": true, "after": false }],
"standard/no-callback-literal": "off",
/**
* 禁止函数的循环复杂度超过 20
* @reason https://en.wikipedia.org/wiki/Cyclomatic_complexity
*/
"complexity": [
"error",
{
"max": 20
}
],
/**
* getter 必须有返回值,并且禁止返回空
*/
"getter-return": "error",
/**
* 代码块嵌套的深度禁止超过 5 层
*/
"max-depth": ["error", 5],
/**
* 回调函数嵌套禁止超过 3 层,多了请用 async await 替代
*/
"max-nested-callbacks": ["error", 3],
/**
* 函数的参数禁止超过 7 个
*/
"max-params": ["error", 7],
/**
* 禁止直接使用 Buffer
* @reason Buffer 构造函数是已废弃的语法
*/
"no-buffer-constructor": "error",
/**
* 禁止重复导入模块
*/
"no-duplicate-imports": "error",
/**
* 禁止出现空代码块,允许 catch 为空代码块
*/
"no-empty": [
"error",
{
"allowEmptyCatch": true
}
],
/**
* 禁止使用 foo == null,必须使用 foo === null
*/
"no-eq-null": "error",
/**
* 禁止使用特殊空白符(比如全角空格),除非是出现在字符串、正则表达式或模版字符串中
*/
"no-irregular-whitespace": [
"error",
{
"skipStrings": true,
"skipComments": false,
"skipRegExps": true,
"skipTemplates": true
}
],
/**
* 禁止对函数的参数重新赋值
*/
"no-param-reassign": "error",
/**
* 必须使用 ... 而不是 Object.assign,除非 Object.assign 的第一个参数是一个变量
*/
"prefer-object-spread": "error",
/**
* generator 函数内必须有 yield
*/
"require-yield": "error",
/**
* 必须使用 if (foo === 5) 而不是 if (5 === foo)
*/
"yoda": [
"error",
"never",
{
"onlyEquality": true
}
],
/**
* 数组中的 jsx 必须有 key
*/
"react/jsx-key": [
"error",
{
"checkFragmentShorthand": true
}
],
/**
* 禁止将 children 作为一个 prop
*/
"react/no-children-prop": "error",
/**
* 禁止在使用了 dangerouslySetInnerHTML 的组件内添加 children
*/
"react/no-danger-with-children": "error",
/**
* 禁止直接修改 this.state
*/
"react/no-direct-mutation-state": "error",
/**
* 禁止使用 findDOMNode
*/
"react/no-find-dom-node": "error",
/**
* 禁止使用 isMounted
* @reason 它是已废弃的语法
*/
"react/no-is-mounted": "error",
/**
* 禁止使用 ReactDOM.render 的返回值
*/
"react/no-render-return-value": "error",
/**
* 禁止使用字符串 ref
*/
"react/no-string-refs": "error",
/**
* 禁止在函数组件中使用 this
*/
"react/no-this-in-sfc": "error",
/**
* 禁止组件的属性或生命周期大小写错误
*/
"react/no-typos": "error",
/**
* render 方法中必须有返回值
*/
"react/require-render-return": "error",
/**
* style 属性的取值必须是 object
*/
"react/style-prop-object": "error",
/**
* img, br 标签中禁止有 children
*/
"react/void-dom-elements-no-children": "error",
// 如果你要用 state refs, 最好用 class extends React.Component 而不是 React.createClass
"react/prefer-stateless-function": 2,
// 将多行的JSX标签写在 ()里
"react/jsx-wrap-multilines": 2,
// 禁止xml tag has empty body
"react/self-closing-comp": [
"error",
{
"component": true,
"html": true
}
],
// 没有引入React,报错
"react/react-in-jsx-scope": "error",
"react/prop-types": "off",
"react/jsx-fragments": "off",
"react/jsx-handler-names": "off",
"react/no-unused-prop-types": "off"
// "react/jsx-curly-brace-presence": "off",
// "jsx-quotes": "off"
}
}
vscode
"eslint.autoFixOnSave": true,
{
"eslint.alwaysShowStatus": true,
"eslint.packageManager": "yarn",
// "eslint.parserOptions": {
// "parser": "babel-eslint"
// },
// "eslint.validate":[
// "javascript",
// "javascriptreact"
// ],
"eslint.autoFixOnSave": true,
"typescript.validate.enable": false,
"editor.tabSize": 2,
"eslint.trace.server": "messages",
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/jspm_packages": true,
"**/node_modules": true,
"**/.zip": true,
"**/.sh": true
},
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true
},
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true
},
"editor.formatOnSave": false,
"editor.formatOnPaste": false,
"editor.renderWhitespace": "all",
"editor.fontSize": 16,
// "editor.tabSize": 4,
"editor.multiCursorModifier": "alt",
"editor.wordWrap": "on",
"editor.insertSpaces": true,
"files.encoding": "utf8",
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
"[typescript]": {
"editor.formatOnSave": false,
"editor.formatOnPaste": false
},
"[javascript]": {
"editor.formatOnSave": false,
"editor.formatOnPaste": false,
"editor.renderWhitespace": "all",
"editor.foldingStrategy": "indentation",
// "editor.foldingStrategy": "auto"
"editor.getOutliningSpans": ""
},
"[javascriptreact]": {
"editor.formatOnSave": false,
"editor.formatOnPaste": false,
"editor.renderWhitespace": "all",
"editor.foldingStrategy": "indentation"
},
"[markdown]": {
"editor.formatOnSave": true,
"editor.renderWhitespace": "all",
"editor.acceptSuggestionOnEnter": "off"
},
"[html]": {
"editor.formatOnSave": false,
"editor.formatOnPaste": false,
"editor.renderWhitespace": "all",
"editor.acceptSuggestionOnEnter": "off"
},
"files.associations": {
"*.jsx": "javascriptreact",
"*.js": "javascriptreact"
},
"editor.snippetSuggestions": "top",
// When enabled, typing /** triggers documentation automatically.
"docthis.automaticForBlockComments": true,
// When enabled, type information is added to comment tags.
"docthis.includeTypes": true,
// When enabled, memberOf information is added to comment tags on class members.
"docthis.includeMemberOfOnClassMembers": true,
// When enabled, memberOf information is added to comment tags on interface members.
"docthis.includeMemberOfOnInterfaceMembers": true,
// When enabled, JSDoc comments for functions and methods will include @description.
"docthis.includeDescriptionTag": true,
// When enabled, hungarian notation will be used as a type hint.
"docthis.enableHungarianNotationEvaluation": true,
// When enabled, will use names of params & methods as type hints.
"docthis.inferTypesFromNames": true,
// When enabled, will add the @author tag.
"docthis.includeAuthorTag": true,
// When docthis.includeAuthorTag is enabled, will add @author tag with this value.
"docthis.authorName": "xgqfrms",
// HTML & overwrite User settings.json
"html.format.extraLiners": "",
"html.format.enable": false,
"html.format.contentUnformatted": "body, div, section, script, pre,code,textarea"
}



xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
Typescript & React & optional parameters & default parameters的更多相关文章
- ES6函数默认参数(Default Parameters)
语言更新时每一个新增的特性都是从千百万开发者需求里提取过来的,规范采用后能减少程序员的痛苦,带来便捷. 我们经常会这么写 function calc(x, y) { x = x || 0; y = y ...
- Java Security: Illegal key size or default parameters?
来自:http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters I ...
- AES加密时抛出 Illegal key size or default parameters
使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Il ...
- java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
How to remove the key size restriction in Java JDK? Are you developing your beautiful application us ...
- Java学习-050-AES256 之 java.security.InvalidKeyException: Illegal key size or default parameters 解决方法
在进行 Java AES 加密测试时,出现如下错误信息: java.security.InvalidKeyException: Illegal key size or default paramete ...
- AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parametersIllegal key size or default parameters
使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Il ...
- 微信退款异步通知报错Illegal key size or default parameters 的解决办法
问题原因: Java几乎各种常用加密算法都能找到对应的实现.因为美国的出口限制,Sun通过权限文件(local_policy.jar.US_export_policy.jar)做了相应限制.因此存在一 ...
- AES的256位密钥加解密报 java.security.InvalidKeyException: Illegal key size or default parameters 异常的处理及处理工具
一.出现的现象为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用.我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理:然 ...
随机推荐
- celery 原理
https://mp.weixin.qq.com/s/FzvZHQpF5mhV9t_HBzlcwg Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处 ...
- 后台故障&性能分析常用工具
说明 本文是一个归纳总结,把常用的一些指令,及它们常用的option简单记录了一下,目的是当我们需要工具去定位问题的时候,能够从中找到合适的工具,具体的用法网上有很多博文了,当然还有man手册.参考了 ...
- luoguP4999 烦人的数学作业
写在前面 这两天信息量有点大,需要好好消化一下,呼呼 \(f[i][j]\) 的转移式还是好理解的,但是对于其实际意义课上有点糊 求 \(ans_{1, x}\) 是感觉手动把数拆开看会好理解一点?? ...
- java 静态资源,非静态资源,父类子类,构造方法之间的初始化循序
java面试经常被问静态资源,非静态资源,父类子类,构造方法之间的执行顺序.下面添加两个类做个测试 class Parent { // 静态变量 public static String p_Stat ...
- ESRI,空间数据处理,WKT,GeoJson
ESRI,空间数据处理,WKT,GeoJson 一.WKT 二.GeoJson 三.WKT转GeoJson 四.GeoJson 转 WKT 一.WKT WKT(well-known text)是一种文 ...
- B - B Silver Cow Party (最短路+转置)
有n个农场,编号1~N,农场里奶牛将去X号农场.这N个农场之间有M条单向路(注意),通过第i条路将需要花费Ti单位时间.选择最短时间的最优路径来回一趟,花费在去的路上和返回农场的这些最优路径的最长时间 ...
- Educational Codeforces Round 85 (Rated for Div. 2)
\(Educational\ Codeforces\ Round\ 85\ (Rated\ for\ Div.2)\) \(A. Level Statistics\) 每天都可能会有人玩游戏,同时一部 ...
- 【uva 11134】Fabled Rooks(算法效率--问题分解+贪心)
题意:要求在一个N*N的棋盘上放N个车,使得它们所在的行和列均不同,而且分别处于第 i 个矩形中. 解法:问题分解+贪心. 由于行.列不相关,所以可以先把行和列均不同的问题分解为2个"在区间 ...
- - 迷宫问题 POJ - 3984 bfs记录路径并输出最短路径
定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...
- 设计模式(二十一)——解释器模式(Spring 框架中SpelExpressionParser源码分析)
1 四则运算问题 通过解释器模式来实现四则运算,如计算 a+b-c 的值,具体要求 1) 先输入表达式的形式,比如 a+b+c-d+e, 要求表达式的字母不能重复 2) 在分别输入 a ,b, c, ...