前提・実現したいこと
現在Reactでtodoアプリを開発しており
TaskList.tsxで定義したidをapp.tsxで使いたいのですが下記のエラーにより
読み込んでくれません。
発生している問題・エラーメッセージ
is not assignable to type 'Task'. Object literal may only specify known properties, and 'id' does not exist in type 'Task' エラー
該当のソースコード
(app.tsx)
import React, { useState } from 'react'
import TaskList from './compornents/TaskList'
import TaskInput from './compornents/TaskInput'
import { Task } from './Types'
import './App.css'
const initialState: Task[] = [
{
id: 2,
title: '次のTodo',
done: false
},{
id: 1,
title: '最初ののTodo',
done: true
}
]
const App: React.FC = () => {
const [tasks, setTasks] = useState(initialState)
return (
<div>
<TaskInput />
<TaskList tasks={tasks} />
</div>
)
}
export default App;
(Task.List.tsx)
↓
import React from 'react'
import TaskItem from './TaskItem'
import { Task } from '../Types'
type Props = {
tasks: Task[]
}
const TaskList: React.FC<Props> = ({ tasks }) => {
return (
<div className="inner">
{
tasks.length <= 0 ? '登録されたTODOはありません。':
<ul className="task-list">
{ tasks.map(task => (
<TaskItem
key={task.id}
task={task}
/>
)) }
</ul>
}
</div>
)
}
export default TaskList;
試したこと
検索してみましたがそもそも原因がイマイチわかりません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー