在尝试将文件转换为打字稿时,我得到了上述错误
handleToggle() {
const { toggleTodo, id } = this.props; // <-- Error
toggleTodo(id);
}
我尝试过几种方法,比如向我为这个组件添加的接口添加属性、添加绑定语句、为这些属性添加方法等等。但是它们都会出现错误,通常是上述错误。只需添加打字脚本检查,似乎我不需要做很多更改。我在这里看到的其他类似问题和答案没有帮助。例如,我将这些项目添加到界面道具中,但仍然出现错误。
到目前为止,我拥有的代码(在这次转换之前运行良好)是
import React, { Component } from 'react'
interface TodoItemProps { // Added this interface for props
title: string,
completed: boolean,
}
export default class TodoItem extends Component {
constructor(props:TodoItemProps) { // used inteface from abovereact
super(props);
this.handleToggle = this.handleToggle.bind(this);
this.handleRemove = this.handleRemove.bind(this);
}
handleToggle() {
const { toggleTodo, id } = this.props; // < -- errors here.
toggleTodo(id);
}
handleRemove() {
const { removeTodo, id } = this.props;
removeTodo(id);
}
render() {
const { title, completed } = this.props;
return (
<div style={{ width: 400, height: 25 }} >
<input
type="checkbox"
checked={completed}
onChange={this.handleToggle} />
{title}
<button style={{ float: 'right' }} onClick={this.handleRemove}>x</button>
</div>
)
}
}
我确实有
@types/react
@types/react-node
作为开发依赖项。
不知道怎么解决这个问题
目前,您还没有告诉typecript这个组件需要什么道具,所以它默认为一个空对象{}
。您确实在构造函数中放置了一个类型,但这不是将其应用于整个类的正确位置。
要解决此问题,请更改以下内容:
export default class TodoItem extends Component {
为此:
export default class TodoItem extends Component<TodoItemProps> {
前两章讨论了几种保持 DRY 和灵活性的函数式编程技术: 函数组合(function composition) 部分函数应用(partial function application) 柯里化(currying) 这一章依旧围绕代码灵活性而来,不过不再讨论作为头等公民的函数,而是类型系统(注意:并不是要真的去研究类型系统)。 你将学习 类型类 ! 可能你会觉得这没有实际意义,认为这是被 Haske
当我运行我的代码时,它返回了错误:类型“Future”不是类型转换中“List”类型的子类型。我该如何修复它?它是在我从Firebase获取数据之前匹配引擎运行的?我试图将wait添加到List demoProfiles=getdata()作为wait List;但它返回错误。我真的是新手,这个问题已经困扰了我一整天。请帮帮我
我是新手。我正在开发一个测验应用程序,并拥有以下三个dart文件: 主要的飞奔 question.dart answer.dart 当我在android studio中的android上运行应用程序时,出现以下错误: ══╡ 小部件库捕获的异常╞═══════════════════════════════════════════ 生成MyApp时引发了以下类型的错误(脏,状态:_MyAppSta
JPA存储过程参数注释 https://docs.oracle.com/javaee/7/api/javax/persistence/StoredProcedureParameter.html 根据文档,它的类型是JDBC类型。 它应该是Java类型,因为它是类(不是 java.sql.Types.xxx 或JDBCType)?
在存储到本地数据库之前,将字符串转换为对象的正确方法是什么? 这是的输出: 我试图将其转换为CreatedBy对象 创造的 这里是我的本地表列 错误
我正在开发一个依靠API REST调用的flutter应用程序。来自API的响应有点复杂。当调用我的API(例如:api/产品)时,我可以从日志中看到响应:但是我有这个错误: 类型列表 StackTrace: [更新]:退货产品响应。fromJson(response)而不是response ProductsRespository: ProductsBloc: 回应: ApiProvider: 模