封装组件的时候,碰到这个问题,看起来写法也没问题
但是就是红屏报错
this.setState({
style:
{
...this.props.defalutStyle,
left: _previousLeft,
top: _previousTop,
}
});
In this environment the target of assign MUST be an object.This error is a performance optimization
大概意思是 :环境中必须使用对象
莫名其妙,最后查下,有人和我遇到同样的问题 同样错误
这个大佬说了下:
官网例子:(这个算比较冷的知识) 传送门
下面就改下代码,用的时候正常传
image.png
我们在组件层改下:
this.setState({
style:
{
...StyleSheet.flatten(defalutStyle),
left: _previousLeft,
top: _previousTop,
}
});
导致这个问题的原因可能是StyleSheet.create 下的对象 返回的不是一个object,官网也说了 StyleSheet.create :Creates a StyleSheet style reference from the given object
. 样式来自样式表的引用。接收一个obj,返回的不是一个obj
StyleSheet.flatten
返回一个obj
网友评论