Old question, but in case anyone is wondering onAnimationFinish only fires when loop is specifically set to false with loop={false}.
loop={false}