gpt4 book ai didi

react-native - 更新 this.state.dataSource 不会更新 ListView

转载 作者:行者123 更新时间:2023-12-03 12:51:23 25 4
gpt4 key购买 nike

我有一个 ListView 像:

<ListView
dataSource={this.state.dataSource}
renderRow={this.renderMovie}
style={styles.listView}
/>

它显示如下行:
  <View style={styles.container}>
<TouchableHighlight onPress={this._onPressButton.bind(this,movie)}>

<Image
source={{uri: movie.uri}}
style={styles.thumbnail}
/>
</TouchableHighlight>
<View style={styles.rightContainer}>
<Text style={styles.title}>{movie.id}</Text>
<Text style={styles.year}>{movie.votes}</Text>
</View>
</View>

我有一个函数可以用电影的“票数”更新 this.state.dataSource 。但是这些更改并没有反射(reflect)在 UI 中,但是当我记录 this.state.dataSource 时,更改就在那里。我是否需要以某种方式重新渲染行?他们不应该自动改变吗?

谢谢!

最佳答案

我有类似的情况,我唯一要做的就是:

this.setState({
dataSource: this.ds.cloneWithRows(new_data_for_datasource)
})

这对我来说可以。
在类构造函数中,我有以下代码:
this.ds = new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2
})
this.state = {
dataSource: this.ds.cloneWithRows(this.props.original_data)
}

希望能帮助到你!

关于react-native - 更新 this.state.dataSource 不会更新 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29933546/

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