가 궁금 어디 : React 요소의 오류로 인해 앱이 다시 렌더링되어 무한 루프가 발생합니다. 왜? 사람이 문제 다 퉜다 경우 아직 코드를 포함하지 않고
- 는
apollo-client
- 아이 컴포넌트는
connect
에 싸여 적이 내 경우에는,connect
에 싸여있는 구성 요소가 그 - 이 무한 루프를 받기 아이 컴퍼넌트에
componentWillMount
- 던져에서 오류를 파견 할
내가있는 상황은 부모 구성 요소가 render
을 다시 실행하고 모든 자식이 componentWillMount
을 실행하지만, componentWillUnmount
을 실행하지 않는다는 것입니다.
오류는 기록되지 않으며 호출 스택 오버플로가 발생할 때까지 콘솔에 표시되지 않습니다.
이렇게하면 모두 다시 Redux에 연결되고, 작업을 디스패치하고 다시 마운트하기 때문에 오류가 다시 발생하므로 루프가 발생합니다.
나는 재현을 시도 할 수는 있지만 꽤 많은 시간이 걸릴 것입니다. 누군가가 어딘가에 볼 수있는 유사한 문제에 부딪혔습니까?
아폴로를 사용하지 않았으며 문제를 인식 할 수 없다고 말할 수 없습니다. 그러나 디버깅 목적을 위해 아마도 액션을 다시 보내기 전에'componentWillMount' 내부에서 몇 가지 검사를 시도해보고 루프를 깨뜨리고 오류가 길을 잃지 않기를 바랍니다. 또는 'componentWillMount'에서 중단 점을 사용하면 언제든지 중단 점을 사용할 수 있습니다. Redux devtools와 같은 도구를 사용하여 발송 된 작업과 예상되는 페이로드가 포함되어 있는지 확인하십시오. https://github.com/zalmoxisus/redux-devtools-extension – jonahe