React Native 运行闪退报 SyntaxError: Invalid character '\u0136' 错误

React Native 项目兼容性测试的时候,发现在一台HUAWEI 手机 Android 6.0上运行闪退,闪退日志中异常信息显示如下:

java.lang.RuntimeException: com.facebook.react.devsupport.JSException: SyntaxError: Invalid character '\u0136'

因为是第三方团队做的兼容性测试,公司的测试团队有没有这类机型,本地也无法直接重现这个闪退。只能根据异常提示找到对应的js文件,重现可能出现异常闪退的地方。
后来发现页面跳转传参了,这个参数有什么问题呢?参数是调用接口返回的,返回的是经过RAS加密的数据,RN端做了RAS解密的操作。
但是,解密之后数据中有了特殊字符,没有做置空处理,因此就导致了 SyntaxError:异常。
添加如下代码:

    const specialStr = /^\#\!.*/;
    let newStr = oldStr.replace(specialStr,'');

就可以了......

你可能感兴趣的:(React Native 运行闪退报 SyntaxError: Invalid character '\u0136' 错误)