В моем приложении 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 (
// ... apply amountStyles at appropriate component
)
}
Однако этот код дает следующую ошибку:
Необработанное исключение JS: в этой среде источники для назначения ДОЛЖЕН быть объектом. Эта ошибка - это оптимизация производительности, а не совместимый со спецификацией.
По-видимому, ошибка попадает на строку, где я определяю amountStyles
. Кто-нибудь знает, почему это происходит? Что-то не так с моим синтаксисом? Я использую нотацию ...
для создания нового объекта из существующего и добавляю к нему дополнительные свойства.