シナリオは私はページ上にあります。 http://example.com/order-confirmationで、前のURLは/ paymentです。ユーザーが「戻る」ボタンを押すと、ホームページ、つまりURL「/」にリダイレクトしたいのですが、/ paymentページに戻ります。 私のアプリケーションでreact("^15.1.0")
とreact-router("^2.4.1")
とreact-router-redux("^4.0.4")
を使用しています。別のURLにリダイレクトするonClickブラウザ戻る - Reactjs
私はStackOverflowまたはgitで複数回答を試みましたが、すべて無駄でした。 など。私が試した下記:
import { push } from 'react-router-redux';
<Route
path={`${AppPaths.ORDER_CONFIRMATION}/:orderId`} component={OrderConfirmationContainer} onLeave={(prevState) => routeBackHome(store, prevState)}
onEnter={routeEntryHandler(store, nonGuestUserValidator)}
/>
const routeBackHome = (store, prevState) => {
store.dispatch(push(`/`));
};
をマイルート:
export const createRoutes = store => (
<Route path={AppPaths.BASE} component={CheckoutAppContainer} onEnter={CheckoutAppContainer.fetchUserState(store)}>
<IndexRedirect to={`${AppPaths.BASE}/${AppPaths.BAG}`} />
<Route component={CheckoutWizardContainer} onLeave={() => clearNotifications(store)}>
<Route
path={AppPaths.BAG} component={CartContainer} onLeave={() => clearNotifications(store)}
onEnter={() => updateStepNumber(store, 1)}
/>
<Route
path={AppPaths.PAYMENT} component={QuickCheckoutContainer} onLeave={() => clearNotifications(store)}
onEnter={checkoutEntryHandler(store, 3)}
/>
</Route>
<Route
path={`${AppPaths.ORDER_CONFIRMATION}/:orderId`} component={OrderConfirmationContainer}
onEnter={routeEntryHandler(store, nonGuestUserValidator)}
/>
</Route>
);
は、この動作をオーバーライドする方法はありますか? お願いします... ありがとうございます。
あなたは、コードを投稿することができますか? – juancab
編集した質問を参照してください。 –
ミドルウェアを使用して、あなたのブラウザの履歴をあなたの店舗と同期させますか? – juancab