reactjs - 在 React 中使用 state 和 include 会给出 Argument of type 'number' is not assignable to parameter of type 'never' 错误

标签 reactjs typescript

我有一个 TypeScript 中的 React 应用程序,其代码包含

export interface State {
    expandedRows: any,
}

class MyComponent extends React.Component<Props, State> {

    state = {
        expandedRows: [],
    };

    isExpanded = (rowId: number) => {
        return this.state.expandedRows.includes(rowId);
    }

并且它会发出错误 TypeScript 错误:“number”类型的参数不能分配给“never”类型的参数。 TS2345 当我将 rowId 变量输入 includes 方法时。

我尝试将 ExpandRows 的类型更改为 Array,但出现相同的错误。我尝试从 State 接口(interface)中删除 ExpandedRows,但出现了相同的错误。我觉得也许我的 State 接口(interface)现在以某种方式被分配给 this.state 。或者,includes 方法可能没有为其输入指定类型。我该如何解决这个问题?

最佳答案

除了其他好的答案之外 - 您可以指定状态的类型

state: State = {
    expandedRows: [],
};

关于reactjs - 在 React 中使用 state 和 include 会给出 Argument of type 'number' is not assignable to parameter of type 'never' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59398557/

相关文章:

typescript - 有没有办法在 typescript 中为具有唯一项的数组定义类型?

javascript - 如何在构建时以不同的方式构建开发环境和生产环境?等)数据库配置

javascript - react js contenteditable 不工作

javascript - React Navigation 检查上一个屏幕是否存在

reactjs - 我需要解决 golang 服务器上的 websockets 问题

javascript - 如何将数据从 JSON API 传递到 TypeScript 模型

javascript - 扩展对象的 typescript 数组而不修改源

javascript - 如何在超测失败时打印请求日志(如请求 url、请求正文、请求 queryParam)?

javascript - 将 fp-ts TaskEither 与右侧的 Either 链接起来

javascript - 状态更改时 View 未更新