React、Typescript 和 setState({ [name]: value }) 错误

2024-01-01

我有一对create-react-app+ 我过去几个月一直在开发的 TypeScript 应用程序。在某些时候(我可能升级了库)tslint 开始抛出错误this.setState({ [name]: value })当给状态一个类型时。它曾经让它滑动(除非我发疯了......并非不可能)。

让 tslint 闭嘴的唯一方法是将状态类型更改为any,我不想这样做。如果我保存文件并让yarn start选择更改,它运行良好...所以我能够忽略 tslint 在 vscode 中抛出的错误。

我明白为什么 tslint 会抛出错误。我想知道是否可以设置一个规则来忽略这个特定的错误?

我看到这个的示例(第 5 行):

class MyComponent extends React.Component<IMyComponentProps, IMyComponentState> {
...
private handleOnChange = (event: any) => {
    const { name, value } = event.target;
    this.setState({ [name]: value });        <-- tslint no likey
}

错误:

[ts] '{ [x: number]: any; 类型的参数}' 不可分配给类型为 'IMyComponentState| 的参数((prevState: 只读,亲...'. 输入 '{ [x: 数字]: 任意; }' 不可分配给类型“Pick”


class MyComponent extends React.Component<IMyComponentProps, IMyComponentState> {
...
private handleOnChange = (event: any) => {
    const { name, value } = event.target;

    // @ts-ignore
    this.setState({ [name]: value });        <-- tslint no likey
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React、Typescript 和 setState({ [name]: value }) 错误 的相关文章

随机推荐

  • “请求的模块'不提供名为'default'的导出”错误,但仅在相对导入中

    我从外部有这个 api 模块 当它作为 node module 安装时 使用 npm install 然后执行如下导入即可 import MyAPI from api 但是 当我查看 node modules 中的 api 文件夹并取出 a
  • 如何使用 Python 解码内存中的 JPEG XR 文件

    我正在使用 Python 3 处理显微镜生成的文件 该文件本质上是数千张 Jpeg XR 压缩图像的集合 我需要将它们全部读入内存 现在我正在以二进制模式读取数据 将它们保存在 jxr 文件中 并调用 JxrDecApp exe 将其转换为
  • 在生成的实体框架类上实现 INotifyPropertyChanged

    我有一个 SQL 数据库 并且正在实现一个 WPF UI 来更新它 如果我使用 EF5 从数据库生成类 如何在生成的类和属性上实现 INotifyPropertyChanged 以便我可以轻松地使用 UI 绑定到它们 有没有一种简单的方法可
  • Android布局设计原则[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我一直在研究针对不同屏幕尺寸 屏幕密度和方向设计布局的最佳方法 但我越来越困惑 1 设计密度与屏幕尺寸我读过这个link https stack
  • Android MediaPlayer 重置冻结 UI

    我的安卓系统有问题MediaPlayer当改变dataSource玩家的 根据规范MediaPlayer http developer android com reference android media MediaPlayer html
  • 哪些 PHP 框架不使用前端控制器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C# WebBrowser 控件不应用 css

    我有一个项目 正在使用 VS2005 进行 我添加了一个 WebBrowser 控件 我向控件添加一个基本的空页面 private const string basicHtmlForm
  • 我是否需要对用户提交的数据使用stripslashes?

    人们使用 stripslashes 做什么 它通常与 addslashes 一起使用吗 为什么要在用户提交的字符串中删除或添加斜杠 你应该always清理用户的输入 但不与addslashes 如果您想用用户的输入组成查询 请使用正确的数据
  • For 循环在 makefile 中不起作用:“此时我出乎意料”

    我有一个非常简单的 makefile all for i in 1 2 3 do echo i i done 然而 当我运行这个时 我收到了 我此时出乎意料 的错误 知道为什么会这样吗 我运行的是Windows XP 上述脚本在 Windo
  • D3.js:如何从图形的刷区域中选择数据?

    I have the following graph where mouse brush light blue area is used to select the data 如何获取所选区域的数据 我尝试过的以下解决方案和许多其他解决方案
  • 如何在 context.write(k,v) 中输出值

    在我的mapreduce 工作中 我只想输出一些行 但如果我这样编码 上下文 write 数据 空 程序将抛出java lang NullPointerException 我不想像下面这样编写代码 context write 数据 new
  • 要列出的 Haskell 字符串[重复]

    这个问题在这里已经有答案了 可能的重复 在haskell中将字符串列表转换为int列表 https stackoverflow com questions 919937 convert string list to int list in
  • 调试 iPhone 崩溃报告

    如何调试以下崩溃报告 用户从 App Store 安装该应用程序 但该应用程序在加载时崩溃 我自己无法重现崩溃 我在自己的 iPad 上查看了崩溃报告 发现了类似的报告 但同样无法重现 对于用户来说 问题在于它会阻止应用程序加载 而我发现自
  • 将现有访问令牌迁移到 Facebook iOS SDK 3.0

    我刚刚彻底修改了我的代码库以使用新的 facebook ios sdk 3 0 来自之前的版本 2 x 或其他版本 一切都很顺利 直到我意识到我没有考虑到已经授予应用程序权限 使用 SDK 的先前实现登录的用户 因此 我尝试检查 acces
  • 将 10 转换为字节,结果很奇怪

    i 11 print i to bytes 1 big b x0b i 10 print i to bytes 1 big b n 应该是b x0a 为什么我得到了 b n 好吧 正如凯尔伍德在他的评论中也解释的那样 大约在同一时间 事情是
  • 除非我指定高度,否则绘图图在 Jupyter Lab 中会折叠

    当我尝试绘制 Plotly 图表时 高度设置为接近 0 或其他值 因为图表呈现折叠状态 我所看到的 但是 如果我手动设置图形的高度 它就会正确呈现 如何在不手动设置高度的情况下正确渲染图表 重现折叠图的代码 import plotly io
  • 通过代理连接发送带有标头的 aiohttp post 请求

    我现在拥有的 Python 3 4 r yield from aiohttp request post URL params None data values headers headers 里面有什么文档 http aiohttp rea
  • laravel 在 groupBy 之后使用 count/sum 方法

    当我使用count or sum方法 我得到了错误的结果 例如 Member groupBy id gt count 我用另一种方法只得到结果1 Member count 我得到了正确的结果 使用时得到错误的结果sum method htt
  • Java 中泛型构造函数的作用是什么?

    众所周知 您可以通过使用类型参数在 Java 中拥有一个泛型类 class Foo
  • React、Typescript 和 setState({ [name]: value }) 错误

    我有一对create react app 我过去几个月一直在开发的 TypeScript 应用程序 在某些时候 我可能升级了库 tslint 开始抛出错误this setState name value 当给状态一个类型时 它曾经让它滑动