Skip to main content
 首页 » 编程设计

css之React Native 写入样式

2024年06月20日49cloudgamer

快速提问。 是否可以更改已定义样式的值?例如: styles.container.backgroundColor?

我收到“尝试写入只读属性”错误,但这似乎很疯狂,因为我无法即时更改背景颜色。有没有我错过的最佳实践方法?

非常感谢, a.

请您参考如下方法:

当您调用StyleSheet.create时,它会生成一个不可变的对象。它这样做是为了只使用样式表的 ID 与 native 桥来回通信。使样式表不可变可以简化通信。

但是,您可以覆盖样式表中的特定规则。以“React Native Fish”元素为例:https://github.com/istarkov/react-native-fish/blob/master/application/common/flake.js

对于您的用例,我认为它会是这样的:

return ( 
    <View style={[styles.container, { backgroundColor: this.state.backgroundColor }]}></View> 
); 
// this.setState({backgroundColor: "#aaa"});