Когда пользователь нажимает на <a>
, я хочу сначала получить новый href
, разрешенный обещанием, а затем вызвать изменение местоположения окна. Но я не могу найти хорошую практику для этого.Возобновление мероприятия в Реактировании
В заключение, вот псевдо-код:
getNewUrl = (e) => {
e.preventDefault();
fetchUrl.then(newUrl => {
newUrl = newUrl;
e.resumeEvent();
})
}
<a
href={newUrl}
onClick={this.getNewUrl}
/>
Но, очевидно, нет e.resumeEvent(). Что мне делать, чтобы справиться с этим? (Не хотите получать URL-адрес в componentDidMount()
, так как может быть много запросов)
Я нашел решение здесь: http://stackoverflow.com/questions/35206589/how-to-download-fetch-response-in-react-as-file Это работает, но я удивлен, что ему нужно столько усилий для такой общей задачи. Любое лучшее решение приветствуется. –