Ich habe eine FlatList, die von einem Array stammt, das im Status der Ansicht definiert ist. Die Liste wird gefiltert, indem das ursprüngliche Array gefiltert und das Array mit dem neuen gefilterten Array in den Status versetzt wird. Aber das Rendern wird nur aufgerufen, wenn die Liste gescrollt wird. Gibt es eine Möglichkeit, die erneute Wiedergabe von Flatlists zu erzwingen?FlatList wird nicht neu gerendert, bis die Liste gescrollt wird.
import setsArr from '../../json/sets';
.
.
.
constructor (props) {
super(props);
this.state({
arrToDisplay: setsArr,
});
}
.
.
.
_filter = (filter,value) => {
var newArr = setsArr.filter(function(){
return (el.filter === value)
});
this.setState({
arrToDisplay: newArr,
});
}
renderOption = (data) => {
return (
<Text>{data.item.name}</Text>
);
}
render() {
return (
.
.
.
<FlatList
data={this.state.arrToDisplay}
renderItem={(item) => this.renderOption(item)}}/>
.
.
);
}
Was ist Ihr Anwendungsfall? – whitep4nther