>  Q&A  >  본문

Android의 React-Native에서 상태 업데이트가 작동하지 않습니다.

스와이프할 수 있는 가로 갤러리에 이미지 쌍이 있는 코드가 있습니다. 이제 두 이미지의 위쪽 부분을 클릭하면 이미지가 꺼지므로 isImage2Active를 상태로 설정한 다음 해당 소스를 전환했습니다. iOS에서는 완벽하고 완벽하게 원활하게 작동하지만 Android에서는 거의 전혀 작동하지 않습니다. 자주 클릭하면 바뀔 수도 있지만 분명히 내가 원하는 동작은 아닙니다.

그래서 설명된 대로 슬라이드 가능한 가로 갤러리인 이미지 구성 요소가 있습니다

으아악

그런 다음 내부에는 이미지 구성 요소가 있고 Pressable 구성 요소 내부에서 위 이미지를 클릭하면 handlerImagePress를 트리거한 다음 setIsImage2Active를 변경하고 이미지 소스를 전환해야 하지만 Android에서는 실제로 작동하지 않으며 20번 작동합니다. 한 번만 작동하며, 미친 듯이 클릭하는 경우에만 작동합니다. 이것이 성능 문제입니까, 아니면 Pressable 구성 요소에 문제가 있습니까? 지금은 정말 답답해요.

으아악

저는 그것을 FlatList(Spotify의 FlashList, 성능이 향상될 것입니다)에 넣으려고 했습니다. 왜냐하면 PagerView를 사용하고 모든 게시물을 매핑하기 전에는 handlerImagePress가 모든 이미지를 갤러리의 일부인 isImage2Active로 변경했기 때문입니다. 하지만 지금은 대신 별도의 Image 구성 요소를 사용하므로 하나의 Image만 업데이트하면 되지만 성능은 0으로 향상되었습니다.

으아악

화면도 하나 더 만들어서 이미지 1개만 사용하여 테스트했는데 잘 작동했는데 FlatList 내부에서 극심한 성능 문제가 발생했습니다.

P粉541551230P粉541551230168일 전404

모든 응답(1)나는 대답할 것이다

  • P粉805931281

    P粉8059312812024-04-07 00:05:47

    FlatList 성능과 이미지를 최적화해 보세요. 원격 URL에서 가져오는 것을 볼 수 있듯이 이미지를 미리 로드하여 최적화를 시도하거나 최적화된 이미지 라이브러리(예: react-native-fast-image )를 사용하여 이미지를 더 잘 로드하세요.

    회신하다
    0
  • 취소회신하다