我有一个功能组件(用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; }'。
属性'handleLocationChange'在类型'IntrinsicAttributes&{children ?: ReactNode; }'。ts(2322)
任何帮助将非常感激。我确定我缺少一些小东西。
最佳答案
您需要将handleLocationChange声明为Search组件上的prop