我是使用React / Redux / Typescript进行前端开发的新手。
我正在构建Todo应用程序。我遇到以下错误:
输入'{todo:Todo; }”不可分配给“ IntrinsicAttributes”类型 & 去做'。属性“ todo”在类型“ IntrinsicAttributes”上不存在 & 去做'。 TS2322
我尝试过在线搜索,但我不知道为什么。
我的代码:
import React, { useState } from 'react';
import { connect } from 'react-redux'
import { addTodo} from './index'
function AddToDo() {
const [input, setInput] = useState('')
function handleInput(e: React.ChangeEvent<HTMLInputElement>) {
setInput(e.target.value)
}
//dispatch to store
function handleAddTodo() {
addTodo(input)
setInput('')
}
return (
<div>
<input type="text" onChange={(e) => handleInput(e)}/>
<button type="button" onClick={handleAddTodo}>
Add todo
</button>
</div>
)
}
//connect
connect(null, { addTodo })(AddToDo)
//TodoList
interface Todo {
id: number
text: string
}
interface TodoState {
todos: Todo[]
}
function TodoList(todos: Todo[]) {
return (
<ul className="todo-list">
{todos.map((todo: Todo, index) => {
//??
return <Todo todo={todo} />;
})
}
</ul>
)
}
function mapStateToProps(state:TodoState) {
// const { todos } = state
return { TodoList}
}
connect(mapStateToProps)(TodoList)
//Todo
function Todo( todo:Todo ) {
return (
<li>
{todo}
</li>
)
}
connect()(Todo)
function App() {
return (
<div className="App">
<AddToDo />
<TodoList />
</div>
);
}
export default App;