React Router - запуск загрузки файла - PullRequest
0 голосов
/ 21 мая 2018

Как пропустить реакционную маршрутизацию в случае путей к файлам?Похоже реагирует роутер перехватывает все ссылки.Пример ниже - жестко закодированная ссылка /1.pdf, кажется, запускает маршрутизатор.

Как мы запускаем загрузку файлов?

const Main = () => {
    return (
        <div>
            <h1>React Router Playground</h1>
            <Link to="/download">Download Area</Link>
        </div>
    );
};

const Download = () => {
    return (
        <div>
            <h1>Download Area</h1>
            <a href="/1.pdf">Download</a>
        </div>
    );
};

export default class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {};
    }
    render() {
        return (
            <Router>
                <div>
                    <Route exact path="/" component={Main} />
                    <Route path="/download" component={Download} />
                </div>
            </Router>
        );
    }
}

Это довольно простой пример, поэтому ссылка жестко закодирована.Они являются динамическими и передаются как реквизиты в реальном коде.

1 Ответ

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

Следующий код в сочетании с компонентом NoMatch должен работать, перезагружая URL, если это допустимый ресурс.

<Router>
  <div>
    <Switch>
      <Route exact path="/" component={Main} />
      <Route exact path="/download" component={Download} />
      <Route component={NoMatch} />
      <Route onEnter={() => window.location.reload()} />
    </Switch>
  </div>
</Router>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...