我試圖在道具更改時更新TouchableOpacity組件的樣式。我調用了一個函數,它負責返回樣式。在該函數中,我記錄了area.included的值。它會返回正確的值,但樣式不會適當更新。React組件的本機更新風格
<TouchableOpacity style={this.getRowStyle(area)} onPress={() => this.navToArea(area)}>
<Text>Some Random Text</Text>
</TouchableOpacity>
getRowStyle(area) {
console.log('area included', area.included)
if (area.included) {
return styles.swipeContainer
} else {
return styles.swipeContainerOpacity
}
}
const styles = StyleSheet.create({
swipeContainer: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
padding: 15,
},
swipeContainerOpacity: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
padding: 15,
opacity: 0.2,
},
})
你可以顯示'styles'的定義嗎?它在'getRowStyle'範圍內嗎? – FuzzyTree
@FuzzyTree我將它添加到我的問題。 –