如何确保router.goBack()不会在我的应用程序域之外导航?

时间:2016-01-11 11:39:15

标签: react-router

在路线组件中,我可以访问java.lang.NoSuchMethodError: android.support.v4.content.ContextCompat.checkSelfPermission 并使用context.router方法。我想在调用.goBack()方法之前确保它不会在我的应用之外导航(例如google.com)。我如何检查.goBack()将重定向我的地址是否在我的应用域中?

使用ReactRouter v2.0.0-rc4

1 个答案:

答案 0 :(得分:3)

import { createHistory } from 'history';

const history = useRouterHistory(createHistory)();

Object.assign(history, {
  goSmartBack: () => {
    if (window.history.length >= 1 && window.history.length <= 2) {
      history.push('/');
    } else {
      history.goBack();
    }
  },
});