2
ビューの状態で定義された配列をソースとするFlatListがあります。このリストは、元の配列をフィルタリングし、新しいフィルタリングされた配列で状態の配列を設定することによってフィルタリングされます。しかし、再レンダリングは、リストがスクロールされたときにのみ呼び出されます。フラットリストを強制的に再レンダリングする方法はありますか?フラットリストは、リストがスクロールされるまで再レンダリングされません。
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)}}/>
.
.
);
}
を参照してください? – whitep4nther