首页 > 解决方案 > 处理相同路由的两个动态路由处理程序?

问题描述

这是我们应用程序的布局:

- pages
  - book-room
    - index.tsx
    - resort.tsx

这意味着对的请求/book-room/resort将按顺序由index.tsx 和处理。 resort.tsx所以...

如果index.tsx在缺少查询参数时重定向,那么当这种情况发生时,度假村页面将在重定向发生时短暂呈现。这是不可取的。

那么问题是我怎么知道resort.tsx一个请求已经被处理了(by index.tsx)?有没有办法在处理请求时触发?resort.tsxindex.tsx

这是我们的页面的样子:

import { NextComponentType, NextPageContext } from 'next';
import React, { useCallback } from 'react';
import { ParsedUrlQuery, Router, useRouter } from '../../../src/next/routes';

const SamplePage: NextComponentType<
  NextPageContext,
  PageProps
> = () => {
  const { query, ready } = useRouter();
  const { property } = query;

  // this redirects if property is not valid
  const propertyValid = useCheckPropertyParam(property, ready);

  return (
    <PageController
      routeReady={ready}
      routeParams={query}
    />
  );
};

标签: reactjsnext.js

解决方案


推荐阅读