貌似是调用问题Uncaught TypeError: Cannot read property 'length' of null

  • Creator 版本: 3.4.2

  • 目标平台:Android / 模拟器

  • 重现方式:代码对spriteFrame进行替换

  • 首个报错:
    Uncaught TypeError: Cannot read property 'length' of null - [0]_findComponent@src/cocos-js/cc.f40fe.js:35174

  • 手机型号: meizu16spro flyme9 Android10

游戏需要间歇换图,在外面建了一个全局example.ts,写了static函数(用的文档spriteFrame例子)。当需要换图的时候,代码调用该函数,传入node和string。

在win电脑edge浏览器上也会报错,但是运行正常。Android上和模拟器上就报错+卡死。


(see stack) Uncaught TypeError: Cannot read property ‘length’ of null

  • [0]_findComponent@src/cocos-js/cc.f40fe.js:35174
  • [1]getComponent@src/cocos-js/cc.f40fe.js:35574
  • [2]anonymous@assets/main/index.e6039.js:775
  • [3]anonymous@src/cocos-js/cc.f40fe.js:50998
  • [4]anonymous@src/cocos-js/cc.f40fe.js:2398
  • [5]fireTimeout@jsb-adapter/jsb-builtin.js:635
  • [6]tick@jsb-adapter/jsb-builtin.js:593

但是我把函数写死在当前场景的ts中,不会报这样的错误。

试过的方法:
在场景ts中,需要调用此static函数的地方加了一个延时0.1s, :white_check_mark:

在论坛搜了好像是 api 调用时间导致不能正常按顺序执行。
不知道是自己理解错误导致问题还是上面的bug,有大佬解答吗