• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

플러터에서 forEach문 보다 for룹을 사용을 권장하는 문제와 context 바로사용으로 체크메세지가 많이 뜨시는분들

24.04.20 11:58 작성 조회수 63

1

안녕하세요 강의 잘보고있습니다.

그런데 vs코드가 삭제로직에 사용된 2군데의 forEach 룹중 한군대의 forEach룹을 자동으로 for in 룹으로 변경하길레 살펴보니

플러터에서는 forEach문 사용이 권장되지 않는다는걸로 보입니다. 예를들어 삭제함수의

void _deleteImage(List<String> imageUrls) { imageUrls.forEach((element) async { await firebaseStorage.refFromURL(element).delete(); }); }

의 코드는

  void _deleteImage(List<String> imageUrls) async {
    for (String imageUrl in imageUrls) {
      await firebaseStorage.refFromURL(imageUrl).delete();
    }
  }

로 수정하면 되는것 같네요.

 

또 VSCode에서 context를 함수바디에 바로 사용하는 문제로 체크메세지가 너무 많이 뜨는데

대표적으로 feed_card_widget.dart 파일

삭제버튼의 onPressed:(){} 내에

LikeProvider,ProfileProvider를 호출하는 부분들의 context를 바로 사용하는것보다

 

final likeProvider = context.read<LikeProvider>();

이런식으로 변수에 담아서 호출하는 방식을 사용하라는 것 같습니다.

 

큰문제는 아닌데 강의보시는분들 참고하세요

 

답변 1

답변을 작성해보세요.

0

안드로이드 스튜디오의 lint 에서는 경고 메시지가 출력되지 않아서 확인을 못했습니다.

감사합니다.