Синтаксис мелкой маршрутизации следующий js - PullRequest
1 голос
/ 17 июня 2020

В следующем js я пытаюсь изменить маршрут без refre sh страницы.

Я использую этот синтаксис, который мне не нравится:

  Router.push(
   `/statistics?entityId=${id}&type=${entityType}&provider=${serviceProvider}`,
   `/statistics?entityId=${id}&type=${entityType}&provider=${serviceProvider}`,
   {
    shallow: true
   }

Есть ли способ использовать этот синтаксис?

Router.push('/statistics', { countryCode: countryCode, country: selectedCountry }, { shallow: true });

1 Ответ

1 голос
/ 17 июня 2020

Да, но синтаксис немного другой. Второй параметр для Router.push может быть string или UrlObject.

Например, если вы хотите, чтобы URL-адрес был /statistics?countryCode=1&country=US, вы можете использовать Router.push, как это, с мелкой маршрутизацией

Router.push('/statistics', {
  query: {
    countryCode: 1,
    country: "US"
  }
}, { shallow: true })

То же самое может быть достигнуто, если страница не является динамической c и вы хотите предоставить первый аргумент как UrlObject, включая pathname. Например,

Router.push({
  pathname: "/statistics",
  query: {
    countryCode: 1,
    country: "US"
  }
}, undefined, { shallow: true })

Подробную информацию можно найти в docs .

...