React添加路由跳转之后发生的错误
来源:6-3 React-Router 代码部分
笔落_Qian
2018-12-17
老师您好,我有一个问题:
我根据您的方式,在MonthPicker.js中添加的点击其他地方也会收回下拉框的选项:
然后在看React路由部分的时候,就出问题了。
React路由部分的代码如下:
点击Home的时候是正常的,但是点击Create和Edit的时候就会报错了,错误信息如下:
请问这个问题的产生的原因是什么呢?以及如何解决呢?谢谢。
写回答
1回答
-
张轩
2018-12-17
同学你好,我当时加那几个导航连接的时候,还没有添加MonthPicker 其中的那一段逻辑,那节课学习完后我就删除了这几个链接,所以当时没有发现这个问题,非常感谢你提出的这个问题,那我现在没法重现这个问题,我从出错信息进行分析,
1 应该是触发这个方法的时候 this.node 应该被销毁了, 他已经是 null了,所以我们在null 上面调方法就报错了,我建议你在 handleClick 中添加一个断点,看看他是什么时候被触发的,是不是页面跳转的过程中被触发,然后这个时候 this.node 已经没有了
2 刚才试了一下,你有可能是
componentWillUnmount() { document.removeEventListener('click', this.handleClick, false) }
写错了,我刚才注释了这一行,和你出现一样的错误,这个会造成事件没有回收,在 Create 页面触发了这个事件,这个时候 this.node 已经销毁,所以就会报错了。
10
相似问题
mount 报错
回答 2
jest的快照不能生成
回答 3