Preact-Router - обработка маршрутов из подкаталога - PullRequest
0 голосов
/ 10 мая 2018

Я сейчас создаю SPA, который можно включить и запустить с любого маршрута. В настоящее время любой компонент <Link />, который я создаю, перенаправляет клиента обратно в корень домена, на котором он находится, плюс намеченный путь. В react-router есть свойство для установки начального базового пути; basename. Похоже, этого нет в preact-router, и я бы предпочел не переключаться на react-router, поскольку он значительно больше, и я не буду использовать многие дополнительные функции.

Простой пример маршрутов:

<Router> <Route path="/" component={Home} /> <Route path="/:slug" component={Merchant} /> </Router>

Я видел пару постов в интернете, в которых говорилось, что это возможно, но с такой маленькой документацией немного сложно собрать воедино.

Любая помощь очень ценится.

Спасибо

Ответы [ 2 ]

0 голосов
/ 18 июля 2018

В итоге я обернул preact-router Link и Router моими собственными компонентами. Оттуда я могу добавить префикс к значению свойства path к базовому маршруту моего приложения, например:

<MyRoute
   path="/"
   component={Home}
/>

Тогда где-то внутри <MyRoute />:

const route = 'my/app/base/path';

let result = (route || '') + this.props.path;

result = result.replace(/([^:]\/)\/+/g, '$1');

Затем просчитать компонент preact-router по умолчанию со значением результата, <Route path={result} />

0 голосов
/ 14 мая 2018

Если вы ищете хеш-маршрутизацию, вот она: https://github.com/developit/preact-router#custom-history.

...