记一次RN的魔幻调试
事故
RN项目在安卓平台测试时出现如下错误:
undefined is not a function(evaluation 'object.getOwnPropertyDescriptors(arguments[i])')
处理
-
调试时打开远程调试模式🤯(WTF?很🐶?没有错,但他就是管用...)
-
更改babel依赖模块源码
cd node_modules/@babel/runtime/helpers
open objectSpread2.js
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(arguments[i])); + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + ownKeys.forEach(function (key) { + defineProperty(target, key, source[key]); + });
分析
好像是babel在运行时与getOwnPropertyDescriptors
这个方法不兼容导致的,但是,,,iOS环境咋没有问题呢?🥴,emmmmmm,我选择狗带。。。