Ich lerne Listview von reagieren native, aber ich frage mich, was ist der Zweck von rowhaschangeed wie warum wir es verwenden müssen, wenn es aufgerufen wird. Ich habe viele Dokumente darüber gelesen, auch die gleichen Fragen zu stackoverflow, dann habe ich versucht, rowhaschangeed zu ändern, indem ich eine Listenansicht aktualisiert habe, um sie besser zu verstehen, aber sie wurde nicht aufgerufen. Kann mir jemand genaue Antworten für obige Fragen geben und mir bitte rehashaned nennen. Vielen Dank für Ihre HilfeReactive native Listview rowhaschanged
export default class HelloWorldApp extends Component {
constructor (props)
{
console.log();
super(props);
/*
this.ds = new ListView.DataSource ({rowHasChanged: (r1,r2) => {
console.log ('Row Has Changed was called');
return r1 !== r2} });
*/
this.state = {
source : new ListView.DataSource ({rowHasChanged: (r1,r2) => {
console.log ('Row Has Changed was called');
return r1 !== r2} })
};
}
hitMe()
{
console.log ('hit me');
this.setState ({
source: this.state.source.cloneWithRows([
{name: 'Tu', age: 4},
{name: 'Hau', age : 5},
{name: 'Nguyen', age: 7},
{name: 'Duy', age: 7}
])
});
}
render() {
return (
<View style = { {padding: 10} }>
<ListView
dataSource = {
this.state.source
}
renderRow = { (data) => <Text> {data.name} is {data.age} </Text> }
/>
<Button onPress = {this.hitMe.bind(this)} title = 'Click me' />
</View>
);
}
}
vielen Dank, es dauerte Zeit für mich, es zu verstehen –