【发布时间】:2022-12-05 05:16:33
【问题描述】:
我正在尝试将存储在 useState 挂钩中的接口数组传递给子功能组件。
这是钩子。它仅在用户交互后才会填充:
const [districtData, setDistrictData] = useState<DistrictData[]>([]);
这是导入到父 tsx 文件中的界面。
export interface DistrictData {
lng: number,
lat: number,
id: string }
这是我将它传递给子组件的地方 <ListOfSchools/> 这是 TS 给出错误的行。
<ListOfSchools districtData={districtData} />
这是子组件 ListOfSchools.tsx 的样子:
import { DistrictData } from "@utils/nces";
interface Props {
propWhichIsArray: DistrictData[];
}
export const ListOfSchools: React.FC<Props> = ({ propWhichIsArray }) => {
return <div></div>;
};
这是我收到的错误:
Type '{ districtData: DistrictData[]; }' is not assignable to type 'IntrinsicAttributes & Props & { children?: ReactNode; }'.
Property 'districtData' does not exist on type 'IntrinsicAttributes & Props & { children?: ReactNode; }'.
我相信目标是将道具设置为子组件期望的类型。
我也在下面尝试过,以及来自 stackoverflow 文章的许多其他尝试:
export const ListOfSchools: React.FC<DistrictData[]> = ({ props: DistricData[] }) => {
return <div></div>;
};
非常感谢您在这里提供的任何帮助。
【问题讨论】:
标签: reactjs typescript interface