这是我要导入的数据文件。它位于/src
文件夹中:
export default {
key1 : 'val1'
}
在顶级组件App.tsx
中,我有:
import portFolioData from "../data/portFolio";
type Props = {
portfolioData : { key1 : string }
}
export default (props: Props) => {
return (
<div className="App" id="appContainer">
//TS2322: Type '{ portFolioData: { key1: string; }; }' is not assignable
//to type 'IntrinsicAttributes & Props'. Property 'portFolioData' does
//not exist on type 'IntrinsicAttributes & Props'.
<Portfolio portFolioData={portFolioData} />
// continues...
Portfolio.tsx组件
type Props = {
portfolioData : { key1 : string }
}
export default (props: Props) => {
return (
<div>
</div>
)
}
我认为这是类型错误; Props对象未正确定义或传递数据文件。正确的语法是什么?我也愿意切换到.json数据文件,如果这样做会有所帮助。
答案 0 :(得分:4)
我认为您应该在Portfolio.tsx中使用的是:
interface Props {
portFolioData : { key1 : string }
}
(F应该是大写),只需查看App.tsx中道具的声明即可。
您在App.tsx上不需要此部分:
type Props = {
portfolioData : { key1 : string }
}
(您不需要它是因为您正在导入它,并且它不会作为道具传递。