React Native 踩坑: error TypeError: TypeError: TypeError: Invalid attempt to spread non-iterable i...

河的左岸IP属地: 江苏
字数 72阅读 12,400

React Native Release发布时,程序闪退了,而明明在Debug时没有任何问题。最后注册了sentry,使用了React-native-sentry 抓住了出错误的地方

TypeError
TypeError: TypeError: TypeError: Invalid attempt to spread non-iterable instance

This error is located at:
    in Rect
    in RNSVGGroup
    in G
    in RNSVGGroup
    in G
    in RNSVGSvgView
    in Svg
    in RCTView
    in RCTView
    in _
    in l
    in f
    in RCTView
    in n
    in RCTView
    in RCTView
    in n
    in v
    in RCTView
    in RCTView
    in l
    in RCTView
    in n
    in RCTView
    in n
    in _
    in k
    in k
    in v
    in v
    in RCTView
    in RCTView
    in RCTView
    in f
    in RCTView
    in f
    in C
    in n
    in P
    in RCTView
    in n
    in RCTView
    in f
    in b
    in y
    in L
    in RCTView
    in h
    in C
    in k
    in v
    in v
    in l
    in k
    in k
    in v
    in RCTView
    in RCTView
    in c

This error is located at:
    in k
    in v
    in v
    in RCTView
    in RCTView
    in RCTView
    in f
    in RCTView
    in f
    in C
    in n
    in P
    in RCTView
    in n
    in RCTView
    in f
    in b
    in y
    in L
    in... 

最后发现是react-native-svg中的Rect出了错,给了一个错误的style:

// 错误的
<Rect x="25" y="25" width={this.state.battery} height="90" 
                      stroke="rgb(255, 255, 255)" fill="rgb(106, 131, 109)" strokeWidth="5" opacity="1"
                    style="fill:green;stroke:rgba(255,255, 255, 1);
                        stroke-width:5;opacity:0.5" /> 

// 正确的,删除了style
<Rect x="25" y="25" width={this.state.battery} height="90" 
                      stroke="rgb(255, 255, 255)" fill="rgb(106, 131, 109)" strokeWidth="5" opacity="1"
                    /> 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
0人点赞
更多精彩内容,就在简书APP
"小礼物走一走,来简书关注我"
还没有人赞赏,支持一下
总资产1共写了1.3W字获得53个赞共12个粉丝

推荐阅读更多精彩内容