javascript - React 传递函数作为 prop
问题描述
我正在使用打字稿/反应,我从基于类的组件 A 中获得了这个功能:
listUpdateFunction() {
console.log("called update functions")
this.setState({ shouldUpdate: true });
}
我将其作为道具传递给另一个组件 B。并将其用作提交按钮。
<button type="submit" onClick={this.props.listUpdateFunction}>Submit!</button>
我的 B 类道具接口是:
interface IProps {
listUpdateFunction: Function;
}
我计划使用此函数在 A 类中调用 componentDidUpdate。但是我的代码不能为 B 类编译它说
(JSX 属性) React.DOMAttributes.onClick?: ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void) | 不明确的
我不明白,阅读此错误消息后,我假设该函数可能未定义,但我认为该接口会保证它不为空?
解决方案
尝试更新您的界面
interface IProps {
listUpdateFunction: (event: React.MouseEvent<HTMLButtonElement>) => void;
}
推荐阅读
- c++ - 创建列表视图后无法更改列宽
- java - 如何从 Youtube Api 获取频道 ID?它显示此错误“JSONException:channelId 没有值”
- kubernetes - Kubernetes MutatingWebhookConfiguration 创建其他对象
- python - 将确认弹出窗口添加到 Flask 表单
- python - Python中基于pct_change的一列的groupby和反向计算
- php - Symfony Doctrine 实体概述
- javascript - 如何通过 WebBrowser 将 javascript 变量传递给 C#
- angular - 类型'可观察的
' 缺少来自类型 'Promise 的以下属性 - html - 轮播指示器不起作用。我不知道为什么
- r - 如何计算 r 中李克特型响应的累积比例?