reactjs - 如何让 TypeScript 抱怨 JSX 道具中不匹配的函数定义?
问题描述
我试图让我的 TypeScript 编译器(或至少是 vscode)警告 JSX 道具中的函数定义不匹配。
我可以有一个 React 组件,它的 prop 定义为类似的东西onSomething: (value: boolean) => void
,然后将一个不定义参数的函数传递给该 prop。我知道这是有效的 JS,但是有没有办法让 TS 警告这种用法?
在上面的照片中,道具需要一个布尔参数,但onConfirmRebuild
定义了零参数。TypeScript 对此没有任何问题,但我希望这样做。
编辑
下面是onConfirmRebuild
. 你可以看到它不需要参数,但 TS 并没有警告我或似乎在乎。
async function onConfirmRebuild() {
// need only the selected collection names
const collectionNames = gridData.filter((c) => c.selected).map((c) => c.name);
// need only the selected box ids
const boxIds = boxes
.filter((b) => collectionNames.some((name) => name == b.collectionIdentifier))
.map((box) => box.id);
const success = await BoxAttributeApi.rebuild(auth, boxIds, false);
setShowRebuildPrompt(false);
if (success == false) {
alert("Failed to submit attribute rebuild request");
}
}
解决方案
推荐阅读
- r - 将函数应用于同一组中的所有对
- winapi - 获取子窗口句柄
- ruby-on-rails - 如何在 ruby on rails 中集成多个支付网关(多个商家)?
- css - 如何使用 input[type="submit"] 属性将 CSS 转换为 Styled-Components?
- multithreading - 如何等待多个批处理文件完成
- css - 隐藏 flexbox 子项并再次显示
- java - org.openqa.selenium.SessionNotCreatedException:未创建会话:此版本的 ChromeDriver 仅支持使用 Selenium 的 Chrome 版本 75
- javascript - 复制链接的最佳方法
- angular - 当我分派多个时,我的效果只被调用一次
- python - 字符串添加到当前工作目录的开头而不是结尾