我是react-native的新手,请耐心等待。单击单独的视图元素时,我试图更改视图元素的背景色。我有一个名为wrapper的视图元素和另一个名为body的视图元素。我想要实现的是当我点击视图“body”时改变视图“wrapper”的backgroundColor属性。我如何才能做到这一点?我在下面尝试的抛出错误Attempted to assign to readonly property.
什么是正确的方法来做到这一点?先谢谢你了
import { StatusBar } from "expo-status-bar";
import {
StyleSheet,
View,
TouchableHighlight
} from "react-native";
export default function App() {
{/*Something like this*/}
const changeBgColor = () => {
styles.wrapper.backgroundColor = "#000000";
};
return (
<View style={styles.wrapper}>
<TouchableHighlight onPress={changeBgColor}>
<View style={styles.body}>
</View>
</TouchableHighlight>
</View>
);
}
const styles = StyleSheet.create({
wrapper: {
width: 130,
height: 130,
padding: "4%",
justifyContent: "center",
alignItems: "center",
backgroundColor: "#ff0000",
},
body: {
width: "100%",
height: "100%",
justifyContent: "center",
alignItems: "center",
backgroundColor: "#ffffff",
},
});
1条答案
按热度按时间ql3eal8s1#
您可以通过更改状态来更改背景色。你必须使用状态作为背景色;当你想改变它时,你可以通过setState改变状态。
在您的示例中,我在viewBGColor状态下设置了默认背景色,并在单击按钮上更改了背景色状态。