使用 `...` 从现有对象创建新对象时出现错误:在这个环境中,assign 的源必须是一个对象。
使用 `...` 从现有对象创建新对象时出现错误:在这个环境中,assign 的源必须是一个对象。
在我的React Native应用中,我有这样一种情况,即我render
的组件的一个特定子组件应该接收绿色或红色的borderColor
。
现在,我不想为这两种情况在我的styles
中创建两个单独的条目,因为它们只在borderColor
属性上有所不同。
我的想法是从我的styles
中的现有样式对象中派生出正确的样式对象,代码如下:
const styles = StyleSheet.create({ amountSection: { borderWidth: 1, flex: 1, flexDirection: 'row', borderRadius: 3 } }) render() { const amountBorderColor = this.state.isClaim ? 'green' : 'red' const amountStyles = { ...styles.amountSection, borderColor: amountBorderColor } return ( // ... 在合适的组件上应用amountStyles ) }
然而,这段代码会出现以下错误:
Unhandled JS Exception: In this environment the sources for assign
MUST be an object.This error is a performance optimization and not
spec compliant.
显然,错误发生在我定义amountStyles
的那一行。有人知道为什么会发生这种情况吗?我的语法有问题吗?我使用...
符号从现有对象中创建一个新对象,并添加一些额外的属性。