I posted in your FB instead here .. :)
Shidhin C R

Replace is a bit special. I’ve not thought about it much, but the way I would do it is, break it down to two different actions instead of a single action. For example, say my component does this,

dispatch({ type: 'REPLACE_ROUTE', payload: { key: 'myroute' });

Then I can have saga running which breaks this down instead of writing a reducer,

function *popAndPushRoute(action) {
try {
yield put({ type: ‘POP_ROUTE’ });
yield delay(300);
yield put({ type: ‘PUSH_ROUTE’, payload: action.payload });
} catch (e) {
yield put({ type: ‘REPLACE_FAILED’, message: e.message });
function *replaceRouteSaga() {
yield* takeEvery(‘REPLACE_ROUTE’, popAndPushRoute);

Certainly not perfect, and I’ve put that delay at random, so you need to tweak it to actually match the animation duration.

Certainly the proper approach would be to use your own animated view to achieve it, or add replace support to NavigationCardStack.

What’s your approach?

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.