今天用React+ts编写Menu组件的时候碰到了这个问题
这是我的引用方式和导出方式, 看着是没有问题
解决思路: 于是我去网上查询解决的办法, 将近找了半个小时的bug, 都没有发现问题所在, 而且组件的引用方式和导出方式都没问题, 于是我自己开始debug, 我的解决思路是这样子的, 首先既然是页面没有渲染出来, 那么我就试试看一下是不是其中一个组件写错了, 我就把其中Menu或者menuItem组件单独渲染, 结果还是报同样的错误, 我就开始怀疑是不是两个组件都写错了, 我就试一下不渲染组件看看能不能行, 如果不渲染组件直接渲染一个标签的话如果成功了就说明我写的组件有问题, 于是我就渲染了一个div标签
奇怪的是依然报错, 我就能肯定很大可能不是组件的问题, 而是我当前入口文件出了问题, 然后经过重新编写入口组件, 我发现我当前的文件导出的是一个函数, 而不是一个组件, 问题就在这里, 与其去网上找找解决办法不如自己debug, 一个一个的方法去检测自己的代码到底是单个组件出来问题还是整体出来问题, 我这个方法把bug缩小化了, 至少我知道肯定是当前的入口组件出了问题, 首先就排除了Menu和MenuItem两个组件, 那么我这个问题就解决了一半了, 对于自己debug来说减少了很多弯路
总结一下: 如果是自学的话, 这种debug的方法是个不错的选择, 自学不同于培训班, 培训班有人问有人指导, 自学的话只能自己一步步的去解决问题, 没人指导你很难发现问题所在, 所以就可以使用我这个排错法来自行解决问题