새로운 객체 데이터를 추가하면 v-for가 이미 렌더링된 객체라도 모든 객체를 다시 렌더링하는 이상한 vuejs 효과가 있습니다.
페이스북처럼 무한스크롤을 구현하고 있어요.
이 코드를 설명하기 위해 Firebase에서 새 데이터를 가져온 다음 화면 하단에 도달하면 데이터 개체에 푸시합니다
이 화면 녹화를 보세요, 집중된 마우스, 너무 느려서 vuejs가 새 데이터를 추가하고 로드하는 동안 버튼을 클릭할 수도 없습니다
내가 사용하는 코드입니다
새 데이터가 추가될 때마다 VueJS가 모든 데이터를 다시 렌더링하여 이러한 효과가 발생하는 것으로 의심됩니다. vueJS가 이미 화면에 렌더링된 데이터를 다시 렌더링하지 않도록 하는 방법은 무엇입니까?
P粉5671123912023-12-29 16:34:20
두 개의 불필요한 비동기 IIFE가 있습니다. forEach
의 두 번째 코드는 루프 반복마다 비동기 코드가 동시에 실행되어 다음과 같은 효과가 있기 때문에 특히 문제가 됩니다.
getDocs()
도 사용하지 마세요. 죽도록 놔두세요. var
;使用 const
或 let
代替。几乎没有充分的理由再使用 var
으아아아
템플릿에서 실행 목록이 길면 속도가 느려질 수 있나요? 각 게시물에 대해 미리 계산할 수 있나요? :post-content="truncateString(linkify(post.data().post_content))"
意味着 linkify
将在每次重新渲染期间执行。我怀疑 linkify