LayoutAnimation を使用して ListView からの行の削除をアニメーション化するのが困難です。
LayoutAnimation.spring プリセット アニメーションはビューの更新をスプリングで処理し、ビューの作成をフェードで処理するため、既存の最下部の行が削除後に上に跳ね上がることを期待していました。代わりに、フェードインします。
RN 0.18.1 の使用
let ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
var movies = [movie1, movie2, movie3, movie4, movie5];
...
renderRow(row) {
return <MovieRow key={row.movieId} />
}
...
// immutable delete of element in reducer (redux)
movies = movies.slice(0, 2).concat(movies.slice(3));
...
LayoutAnimation.spring();
this.setState({
dataSource: ds.cloneWithRows(movies)
});