背景:当我们在react中封装组件并复用时,会传不同的props,那么自然有些props是不需要传的,所以在定义interface的时候需要加个问号。但这也就引来了标题的报错!

模拟一下报错代码:

// 父组件
const handleVisible () => {}export default function Father(props: IProps) {return (<Child/><Child handleVisible={handleVisible}/>)
}
// 子组件
interface IProps {handleVisible?: () => void
}export default function Child(props: IProps) {reutrn (// xxxxxxx)const getList = async () => {// 假设进行异步请求之后会调用父组件的``handleVisible``方法const res = await getlist()props.handleVisible() // 这段代码这个时候会报错!!!因为我们调用了两次子组件,只有一个传了handleVisible方法,所以ts不会让你执行}
}

解决方法也很简单:

1.先检查是否有该方法再执行。 即props.handleVisible && props.handleVisible()

2.类型断言。 即props.handleVisible!()

解决typescript报错:不能调用可能是未定义的对象相关推荐

  1. echarts 报错问题 is null 或者未定义等问题

    我们在使用echarts的时候会出现is null或者未定义等报错提示,但是却无从下手的情况. 其一,我们是完全按照echarts的官方文档来添加的js文件:其二,在对使用option时候的配置是按照 ...

  2. thinkphp开启子域名无法正常访问_解决TP6报错“当前访问路由未定义或不匹配”...

    如果是报路由错误,则说明启用了路由控制,那么所有被访问的页面都需要配置路由,否则将无法访问. 例如: 在浏览器中运行http://hml.tp6.com/admin/getlog 报错:当前访问路由未 ...

  3. 解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错

    解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错 问题描述:   笔者将一个在 Tomcat ...

  4. webpack配置别名,typescript报错2307的解决办法

    webpack配置别名,typescript报错2307的解决办法 webpack配置: resolve: {alias: {'@': path.resolve(__dirname, 'src')}} ...

  5. 解决gcc报错:error: implicit declaration of function ‘inet_addr’ [-Werror=implicit-function-declaration]

    此文首发于我的个人博客:解决gcc报错 error implicit declaration of function 'inet_addr' [-Werror=implicit-function-de ...

  6. 解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 解决tensorflow报错:AttributeError: module 'tensorflow.keras.back ...

  7. 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序

    解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序 方法 1:使用 Java 8 方法 2:使用 Java 模块系统 方法 3:使用引导类   很多 JavaFX 初 ...

  8. react+typescript报错集锦持续更新

    typescript报错集锦 错误:Import sources within a group must be alphabetized.tslint(ordered-imports) 原因:impo ...

  9. 完美解决Pycharm报错[WinError 193] %1 不是有效的 Win32 应用程序

    完美解决Pycharm报错[WinError 193] %1 不是有效的 Win32 应用程序 问题发生 长话短说,今天安装python64位时遇到了这个问题,我也看了网上很多说为什么会出现这个问题的 ...

最新文章

  1. 特斯拉:即将推出神经网络雨刷
  2. Python程序设计题解【蓝桥杯官网题库】 DAY6-基础练习
  3. Keras学习代码—github官网examples
  4. table导出Excel
  5. html5 视频 showtime,利用function showTime显示不出时间是为什么?
  6. 从功能测试到接口测试,原来的技能可以通用
  7. 从零开始搭二维激光SLAM --- 基于ceres的后端优化的代码实现
  8. java batik_batik详解2
  9. 易语言 内存调用html文件夹,将文件移到指定文件夹 易语言移动文件到指定文件夹内...
  10. Gradle下载及安装,配置IDEA
  11. 设置一个励志锁屏短语吧!苹果电脑锁屏短语在哪设置?
  12. Android微信代扣sdk无法拉起,微信JS-SDK选择图片遇到的坑
  13. QTableWidget使用setCellWidget设置控件居中显示
  14. FTP显示文件的修改时间与实际时间不一致
  15. EXCEL中进行经纬度坐标排重
  16. BUUCTF Easy MD5
  17. 如何使用Arduino开发板读取KY-037声音检测传感器
  18. Collapsed Variational Inference(Collapsed变分推断)算法以LDA推导为例
  19. 使用EditTable实现可编辑列表
  20. r语言算巢式设计方差分析_应用统计学与R语言实现学习笔记(八)——方差分析...

热门文章

  1. c语言小游戏 精简_【原创】用非常简单的c语言自编的一个小游戏
  2. H5移动端调试神器-eruda.js
  3. 如何使用slf4j记录日志
  4. 华为国内售价比欧洲便宜2000元!
  5. 合租虚拟主机注意事项
  6. git 本地文件删除了更新不下来
  7. 不用445端口,替代Windows共享,局域网文件共享新方式
  8. python找到字符中空格所在的位置_python查找空格和中文
  9. c++-猜数字,随机数的生成
  10. 美团智能客服核心技术与实践