irpas技术客

【taro react 错误解决】 ---- Uncaught TypeError: Cannot read properties of null (readi

网络投稿 5403

1. 错误提示 Uncaught TypeError: Cannot read properties of null (reading 'getContext') 2. 错误截图

3. 错误分析 创建 canvas 的绘图上下文 CanvasContext 对象时canvas还未加载完成;Taro.createCanvasContext 所放生命周期错误! 4. 解决问题 错误代码 export default class Index extends Component { componentDidMount () { this.g2048 = new G2048(this) } changeTouchStart(e){ this.g2048.changeTouchStart(e) } changeTouchEnd(e){ this.g2048.changeTouchEnd(e) } render () { return ( <View className='index'> <Canvas canvasId='canvas' className='rui-canvas' onTouchEnd={this.changeTouchEnd.bind(this)} onTouchStart={this.changeTouchStart.bind(this)}></Canvas> </View> ) } } 修改后代码 export default class Index extends Component { componentDidShow () { this.g2048 = new G2048(this) } changeTouchStart(e){ this.g2048.changeTouchStart(e) } changeTouchEnd(e){ this.g2048.changeTouchEnd(e) } render () { return ( <View className='index'> <Canvas canvasId='canvas' className='rui-canvas' onTouchEnd={this.changeTouchEnd.bind(this)} onTouchStart={this.changeTouchStart.bind(this)}></Canvas> </View> ) } } 5. 总结 明白每个生命周期,程序执行干了什么;有些api需要在对应的生命周期调用!


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #taro #React #错误解决 #uncaught #TypeError #Cannot #read