Это может быть связано с тем, как работает кэширование данных в библиотеке SWR. SWR пытается использовать кэшированные данные, если они доступны, прежде чем вызывать функцию получения данных. Однако, если данные уже были загружены ранее и кэшированы, SWR может решить, что эти данные более актуальны и решить не использовать fallbackData.
В вашем случае, когда вы возвращаетесь на страницу после перехода на другой роутер, SWR обнаруживает, что уже есть кэшированные данные и решает использовать их, игнорируя fallbackData.
Если вам нужно гарантировать загрузку данных из fallbackData каждый раз, когда вы возвращаетесь на страницу, вы можете использовать опцию `revalidateOnMount` и установить ее в `true`. Например:
```jsx
const { data, error } = useSWR('/api/sites?page=1', fetcher, {
fallbackData: siteList,
revalidateOnMount: true
});
```
Это заставит SWR выполнять запрос на сервер каждый раз, когда компонент монтируется, даже если есть кэшированные данные.