我去过所有的博客和帖子,用户问了几乎相似的问题我要问的问题,但是我的问题与我之前提出的所有可能的解决方案没有什么不同。
问题:我正在使用list-view,我正在渲染一些数据,我想在点击时更新数据。我可以在列表中进行更改,但这些更改不会反映回list-View。
我使用url来获取列表视图中的列表和设置数据。当我尝试在状态中对旧列表进行更改时,它不会反映出来。 我的代码:
rowData.adult = !rowData.adult;
var dataClone = this.state.familyData;
dataClone[rowID] = rowData;
this.setState(state => ({
familyData: this.state.familyData.cloneWithRows(dataClone),
}));
如果我重新点击网址,然后尝试更新,则会在列表视图中附加更改。 代码:
Presscall(rowID) {
var url = 'http://api.themoviedb.org/3/movie/now_playing?api_key=17e62b78e65bd6b35f038505c1eec409';
fetch(url)
.then(response => response.json())
.then(jsonData => {
console.log("data", jsonData.results[rowID].adult);
jsonData.results[rowID].adult = true;
var dataclone = jsonData.results;
this.setState({
familyData: this.state.familyData.cloneWithRows(dataclone),
fetching: false`enter code here`
});
console.log("data", jsonData.results[rowID].adult);
})
.catch(error => console.log('Error fetching: ' + error));
}
请帮我解决这个问题,提前致谢。