В итоге - вот мое рабочее решение:
Импотрируем Link и useLocation
import { Link, useLocation } from 'react-router-dom';
Далее - внутри компонента:
Константа поиска:
const { search } = useLocation();
Константа с параметрами:
const params = {
lang: lang,
source: source,
offer: offer,
};
Константа с ссылкой (по дефорлту):
const to = {
pathname: '/signup'
}
Затем - сканируем строку на наличие параметров:
if (search !== '') {
to['search'] = queryString.stringify(params);
} else {
to['search'] = `lang=${lang}`;
}
ну и сама кнопка:
<Link to={to}>Button</Link>
И это отлично работает!!!
P.S Собрал на основе этого:
https://stackblitz.com/edit/dynamic-router-links