reactjs - 使用 TypeScript 进行反应,不要使用 {} 作为类型。{
问题描述
在使用 React 和 TypeScript 时,我的 Contact 组件中出现 ESlint 错误Don't use `{}` as a type. `{}` actually means "any non-nullish value".
。
该组件没有任何道具。
export default class Contact extends React.Component<{}, MyState> {
constructor(props = {}) {
super(props);
this.state = {
signedUp: false,
};
}
}
我尝试null
改用,但这会引发其他 ESLint 错误。
解决方案
经过大量挖掘,我发现了以下 GitHub 问题。
通过向您添加以下内容,您.eslintrc.js
可以忽略该规则。建议使用配置使此规则仅适用于 React 组件。这将确保其他地方的强类型。
"rules": {
"@typescript-eslint/ban-types": [
"error",
{
"extendDefaults": true,
"types": {
"{}": false
}
}
]
}
}
来源:https ://github.com/typescript-eslint/typescript-eslint/issues/2063#issuecomment-675156492
推荐阅读
- angular - 在量角器中初始化之前无法访问“元素”
- libvirt - 无法启动 libvirt 服务
- php - (?1) 在 PHP 的正则表达式中是什么意思?
- node.js - passport.js 本地猫鼬登录不执行
- wordpress - Wordpress:让店长创建具有自定义角色的用户
- excel - 打开 Excel 文件时如何运行两个代码之一?
- python - Python - 在类属性字典中插入静态类方法值
- python - 谷歌自然语言预测示例
- python-3.x - 如何使用python将文件上传到aws glacier
- kubernetes - 我们如何将登录过程自动化到 IBM Kubernetes Service (IKS)?