import React, { useState } from 'react';
// 定义对象数组中每个对象的类型
type ItemType = {
id: number;
title: string;
isCompleted: boolean;
};
// 定义props类型
type Props = {
items: ItemType[];
};
// 定义state类型
type State = {
selectedId: number | null;
};
const MyComponent: React.FC<Props> = ({ items }) => {
const [state, setState] = useState<State>({ selectedId: null });
const handleClick = (id: number) => {
setState(prevState => ({
...prevState,
selectedId: id
}));
};
return (
<div>
{items.map(item => (
<div
key={item.id}
onClick={() => handleClick(item.id)}
style={{
textDecoration: item.isCompleted? 'line-through' : 'none',
cursor: 'pointer'
}}
>
{item.title} - {item.isCompleted? '已完成' : '未完成'}
</div>
))}
</div>
);
};
export default MyComponent;