【发布时间】:2020-03-12 19:28:57
【问题描述】:
我有一个功能组件(用 Typescript 编写)需要将处理程序函数向下传递给子组件。这是父函数的缩小版:
type Props = { handleLocationChange(): void };
const Sidebar: React.FC<Props> = (props) => {
const handleLocationChange = () => {
console.log('Location Changed.');
};
return (
<>
<Search handleLocationChange={handleLocationChange} />
</>
)
}
在 VS Code 中,搜索组件显示错误:
输入 '{ handleLocationChange: () => void; }' 不可分配给类型 'IntrinsicAttributes & { children?: ReactNode; }'。 类型“IntrinsicAttributes & { children?: ReactNode;”上不存在属性“handleLocationChange” }'.ts(2322)
任何帮助将不胜感激。我确定我错过了一些小东西。
【问题讨论】:
-
我认为您不能在定义时调用该函数。尝试不调用函数:{ handleLocationChange: void }
标签: javascript reactjs typescript react-props react-functional-component