gpt4 book ai didi

javascript - 在react native类组件中,不能使用setstate来更新state

转载 作者:行者123 更新时间:2023-12-05 06:48:08 24 4
gpt4 key购买 nike

我正在使用 this.setState 来更新我组件中的状态,但是这个有问题,this.setState 的回调也没有被执行。这是我的代码:

{
this.state.monthData.map((item, index) => (
<TouchableOpacity onPress={() => this.openMessage(item, index)}
style={[styles.calendarItem,
this.state.activeIndex === index ? {
borderWidth: 1,
borderColor: 'red',
} : {}]}
>
<Text style={styles.dayTitle}>{item.cDay}</Text>
<Text style={styles.dayLunar}>{item.Term ?? item.IDayCn}</Text>
<View style={styles.underline}/>
</TouchableOpacity>
))

}
constructor (props) {
super(props)
this.state = {
monthData: [],
offsetMargin: 0,
activeIndex: null,
}
}
openMessage = (item, index) => {
console.log('index', index) // output correctly
this.setState({
activeIndex: index
}, function (){
console.log('set success') // here is not executed
})

这有什么问题吗?

最佳答案

尝试使用这种方式

openMessage = (item, index) => {
console.log('index', index) // output correctly
this.setState({
activeIndex: index
}, () => {
console.log('set success') // here is not executed
});

关于javascript - 在react native类组件中,不能使用setstate来更新state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66897903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com