React 传递函数作为 prop
Posted
技术标签:
【中文标题】React 传递函数作为 prop【英文标题】:React passing function as prop 【发布时间】:2021-05-11 10:20:16 【问题描述】:我正在使用 typescript/react,并且我从基于类的组件 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
) => void) |未定义
我不明白,阅读此错误消息我认为该函数可能未定义,但我认为该接口会保证它不为空?
【问题讨论】:
【参考方案1】:尝试更新你的界面
interface IProps
listUpdateFunction: (event: React.MouseEvent<htmlButtonElement>) => void;
【讨论】:
以上是关于React 传递函数作为 prop的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript 和 React:在 props 中传递组件并从函数中返回它