2016-10-12 3 views
1

사용자가 <a>을 클릭하면 약속에 의해 해결 된 새로운 href을 얻고 싶습니다. 그리고 나서 창 위치 변경을 트리거합니다. 그러나 나는 이것을하기에 좋은 습관을 찾을 수 없다. 결론React에서 이벤트 재개

가 여기 사이비 코드입니다 :

getNewUrl = (e) => { 
    e.preventDefault(); 
    fetchUrl.then(newUrl => { 
    newUrl = newUrl; 
    e.resumeEvent(); 
    }) 
} 

<a 
    href={newUrl} 
    onClick={this.getNewUrl} 
/> 

그러나 분명히 더 e.resumeEvent 없다(). 이 문제를 처리하려면 어떻게해야합니까? (많은 요청이있을 수 있으므로 componentDidMount()에 URL을 대량으로 가져오고 싶지 않음)

+0

나는 해결책을 여기에서 발견했다 : http://stackoverflow.com/questions/35206589/how-to-download-fetch-response-in-react-as-file 그것은 실행 가능하지만 나는 그것이 필요하다는 것에 놀랐다. 그러한 공통 과제를위한 많은 노력. 더 좋은 해결책은 언제나 환영합니다. –

답변

0

창 위치를 변경하려는 것처럼 들립니다.

window.location = newUrl

은 트릭을해야한다.

+0

두 가지 문제가 있습니다. 1. URL을 다운로드 할 때 현재 탭 위치가 변경되지 않고 새 탭이 열리는 것을 기대합니다. 2. 그것은 React 컨텍스트이기 때문에, React 방식으로 해결하는 것을 선호합니다. –

관련 문제