【发布时间】:2023-09-24 17:47:02
【问题描述】:
这个组件的预期行为是这样的:我按下它,selectedOpacity() 函数被调用,状态被更新,所以它现在以 opacity=1 呈现。
但由于某种原因,在调用 this.setState 之后,它并没有被重新渲染。我必须再次单击此组件以使其重新渲染并应用状态的不透明度更改。
export default class Category extends Component {
state = {
opacity: 0.5
}
selectedOpacity() {
// some stuff
this.setState({opacity: 1})
}
render() {
return(
<TouchableOpacity style={[styles.container, {opacity: this.state.opacity}]} onPress={() => {
this.selectedOpacity();
}}>
</TouchableOpacity>
)
}
【问题讨论】:
-
缺少
constructor() -
所以在这种情况下使用 TouchableOpacity 似乎存在错误,但有什么想法可以避免这个错误并仍然使用 TouchableOpacity?
标签: reactjs react-native state render