Как реализовать навигацию React App для расширения VSCode с веб-просмотром - PullRequest
0 голосов
/ 08 января 2020

Я столкнулся с проблемой при разработке VSCode Extension с использованием React. Я знаю, что VSCode позволяет интегрировать код HTML/JS/CSS, используя Webview. Но ссылки на него не работают, поэтому react-router для Web не работает.

Не работает:


<Link to="/my/url">

Мой вопрос: как реализовать навигацию в веб-представлении расширения vscode, используя навигацию React?

Любая помощь или предложения приветствуются.

1 Ответ

2 голосов
/ 08 января 2020

Если вы хотите использовать react-router исключительно для связывания ваших компонентов без какой-либо поддержки URL (т.е. в этом вашем расширении), вы можете использовать createMemoryHistory. См. React Router без изменения URL . Также рассмотрим MemoryRouter для react-router v4.

Пример:

import { MemoryRouter } from 'react-router-dom';
const App = () => {
  return (
    <MemoryRouter>
      {/* All your routes, i.e. stuff you usually put in <Router>.
          Link elements now work because the "URL" is stored in memory. */}
    </MemoryRouter>
  );
}
...