2017-11-06 5 views
0

그래서 gposub의 사용자 별표 리포지토리를 해당 리포지토리의 미해결 문제와 함께 표시하는 반응 구성 요소가 있습니다. 별표가 표시된 저장소의 문제를 해결하기 위해 URL 목록을 만든 다음 가져 오기를 URL 목록에 매핑하여 약속 목록에 Promise.all을 호출합니다. 별표 표시된 repos가 포함 된 내 상태는 초기 렌더링시 설정되지만 문제의 상태는 아닙니다. 내 코드에 어떤 문제가 있습니까?반응 구성 요소에서 중첩 된 fetch() 호출을 올바르게 작성하는 방법은 무엇입니까?

componentDidMount() { 
// headers contain auth token for github api 
let headers = new Headers() 
var myInit = { 
    method: 'GET', 
    headers: headers, 
    mode: 'cors', 
    cache: 'default' 
}; 

fetch("https://api.github.com/users/djm158/starred", myInit) 
    .then(response => response.json()) 
    .then(
    stars => { 
     this.setState({ 
     stars: stars 
    }) 

    let urls = [] 
    for (let i = 0; i < stars.length; i++) { 
     urls.push(stars[i].url + '/issues') 
    } 

    return Promise.all(urls.map(url => fetch(url, myInit))) 
    }) 
    .then(results => Promise.all(results.map(d => d.json()))) 
    .then(data => { 
    this.setState({ 
     issues: data 
    }) 
    }) 

은}

+0

는 디버거로 디버깅을 시도 해 봤나 일을하려고 있었는지의 작업 예제에 대한 링크가있어, 그것을 알아 냈어? – zerkms

+0

나는 vscode의 크롬 디버거, 면책 조항을 사용하는 방법을 밟았으며, 반응하는 응용 프로그램을 디버깅하는 전문가는 아니며, 더 많은 것을 배울 수있는 개인 프로젝트입니다. 마운트하기 전에 '문제'에 대한 상태를 설정하는 것이 왜 발생하지 않는지 함께 정리할 수 없었습니다. –

+0

상태가 구성 요소의'render()'메소드에 정의되어 있는지 확인하고 임시 시간 내에 자리 표시 자 html을로드해야하는지 확인해야하는 수정 프로그램을 찾았습니다. –

답변