當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript History.replace方法代碼示例

本文整理匯總了TypeScript中history.History.replace方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript History.replace方法的具體用法?TypeScript History.replace怎麽用?TypeScript History.replace使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在history.History的用法示例。


在下文中一共展示了History.replace方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: push

  push(path: string | LocationDescriptorObject, state?: any) {
    // Do not navigate if the path object matches
    const nextPath = typeof path === 'string' ? path : createPath(path);
    if (nextPath === createPath(this.history.location)) return;

    if (Date.now() - this.lastPush > this.wait) {
      // @ts-ignore TypeScript doesn't recognize our push as a proxy for History.push's
      // overloaded signature, and it's really hard to fix this properly
      this.history.push(path, state);
    } else {
      try {
        // @ts-ignore
        this.history.replace(path, state);
      } catch (e) {
        // Ignore Safari's history.replaceState() rate limit error.
        // See https://github.com/nusmodifications/nusmods/issues/763
        if (
          e.name === 'SecurityError' &&
          e.message.includes('Attempt to use history.replaceState()')
        ) {
          return;
        }

        // Continue throwing all other errors
        throw e;
      }
    }

    this.lastPush = Date.now();
  }
開發者ID:nusmodifications,項目名稱:nusmods,代碼行數:30,代碼來源:HistoryDebouncer.ts

示例2: return

 return (key: string, value?) => {
   if (value === "") {
     delete querystring[key];
   } else {
     querystring[key] = value || key;
   }
   history.replace("?" + stringifyQs(querystring));
 };
開發者ID:p2p-ms,項目名稱:front,代碼行數:8,代碼來源:utils.ts

示例3: call

  return function call(input: Narrow<HistoryInput>): void {
    if (input.type === 'push') {
      history.push(input.pathname, input.state);
    }

    if (input.type === 'replace') {
      history.replace(input.pathname, input.state);
    }

    if (input.type === 'go') {
      history.go(input.amount);
    }

    if (input.type === 'goBack') {
      history.goBack();
    }

    if (input.type === 'goForward') {
      history.goForward();
    }
  };
開發者ID:,項目名稱:,代碼行數:21,代碼來源:

示例4: createBrowserHistory

    let history: History<{some: 'state'}> = createBrowserHistory();

    // Listen for changes to the current location. The
    // listener is called once immediately.
    let unlisten = history.listen(function (location) {
        console.log(location.pathname);
    });

    // When you're finished, stop the listener.
    unlisten();

    // Push a new entry onto the history stack.
    history.push('/home');

    // Replace the current entry on the history stack.
    history.replace('/profile');

    // Push a new entry with state onto the history stack.
    history.push({
        pathname: '/about',
        search: '?the=search',
        state: { some: 'state' }
    });

    // Change just the search on an existing location.
    history.push({ pathname: location.pathname, search: '?the=other+search' });

    // Go back to the previous history entry. The following
    // two lines are synonymous.
    history.go(-1);
    history.goBack();
開發者ID:AlexGalays,項目名稱:DefinitelyTyped,代碼行數:31,代碼來源:history-tests.ts

示例5: useEffect

 useEffect(() => {
   if (redirectLocation) {
     history.replace(redirectLocation);
   }
 });
開發者ID:elastic,項目名稱:kibana,代碼行數:5,代碼來源:useRedirect.ts


注:本文中的history.History.replace方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。