类型“”不能分配给类型“ IntrinsicAttributes&”。属性“”在类型“ IntrinsicAttributes&”上不存在

时间:2020-05-13 12:12:34

标签: reactjs typescript redux

我是使用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;

0 个答案:

没有答案