[러닝 리액트에서 만난 구덩이: 메모리 누수 오류]

러닝 리액트에서 만난 구덩이: 메모리 누수 오류

마운트
해제된 구성 요소에서 React 상태 업데이트를 수행할 수 없습니다. 이것은 작동하지 않지만 애플리케이션의 메모리 누수를 나타냅니다. 수정하려면 useEffect 정리 함수에서 모든 구독 및 비동기 작업을 취소하세요.
인터넷에서 블로그를 잔뜩 찾았는데 다들 컴포넌트 파괴 전 클리어 타이머 같은 비동기 문제라고 하던데 제 문제는 이렇지 않고 제 오류는 비동기 때문이 아니라 반응하는 컴포넌트 로직이 렌더링으로 인한

당신이 코드 읽기 싫어하는 걸 알아, 그래서 나는 그것을 게시하지 않습니다 [수동 개 머리]

1. 내 페이지에서 Sanmu 연산자를 사용하여 해당 구성 요소의 표시를 제어합니다(일부는 혼합 구성 요소임).

2. 그런 다음 Miki가 판단한 조건의 변수는 useState로 정의된 상태를 사용합니다.

3. 이 상태에서 구성 요소와 일치할 수 있는 초기 값을 그에게 제공했습니다.

4. 초기화시 페이지에서 useEffect를 사용하여 주소창의 파라미터를 가져와서 이 상태에 할당합니다.
주소창의 파라미터가 처음 상태의 기본값과 같으면 이 오류는 발생하지 않습니다. , 그러나 그들이 다른 경우 위의 오류가 많이보고됩니다

문제 해결됨:

Sanmu 연산자 대신 && short-circuit union 연산자를 사용하여 자체 구성 요소의 렌더링을 독립적으로 판단한 다음 초기 상태의 기본값을 null로 할당합니다(즉, 처음에 구성 요소와 일치하지 않음, 그리고 ts 프로젝트는 상태의 일반 상태에 주의를 기울입니다. 물론 컴포넌트 렌더링과 관련이 없는 값인 한 null이어야 합니다.)

그런 다음 저장하고 다시 실행하여 새로 고침, 실험 등을 수행하고 성공적으로 오류를 제거하십시오.

Supongo que te gusta

Origin blog.csdn.net/weixin_54645575/article/details/124676939
Recomendado
Clasificación