React+TypeScript中如何用箭头函数编写void类型函数表达式
问题解决:React组件传递
() => void报错的替代写法 首先明确报错原因:() => void里的void是TypeScript的类型关键字,不是JavaScript中可直接返回的有效值,所以会触发「Expression expected」语法错误。而() => false返回的是布尔值,属于合法表达式,因此能正常运行。
不声明TypeScript接口时,实现无返回值回调的正确写法有两种:
写法1:空函数体
直接定义没有返回值的箭头函数,这是最直观的方式:<MyComponent updateCallback={() => {}} />这个函数执行后不会返回任何值(实际返回
undefined),完全符合() => void的语义。写法2:使用
void操作符
利用JavaScript的void操作符(注意不是TypeScript的类型),它会执行后面的表达式并返回undefined,这样既明确表达了无返回值的意图,又符合语法要求:<MyComponent updateCallback={() => void 0} />这里
void 0等价于undefined,函数最终返回undefined,同样满足回调的无返回值需求。
内容的提问来源于stack exchange,提问作者manojadams
相关产品推荐
相关产品推荐

