• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 StreamBuilder 내부 데이터를 같은 페이지안에서 사용하기

StreamBuilder 내부 데이터를 같은 페이지안에서 사용하기

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #93777

    김윤호
    참가자
    안녕하세요.
    코드를 짜다가 궁금한 게 생겨서 여쭈어봅니다.
    제가 원하는건 이런 겁니다.
    A_page.dart에 있는 StreamBuilder안에 있는 snapshot data를 A_page.dart에 있는 StreamBuilder밖에서 사용하기를 원합니다.
    뭔가 데이터를 다른데이터 보내듯이 A(data:data)하고 A_page.dart에서 final data; required this.data하면 사용할 수 있을 것 같은데 안 되네요..
    
    StreamBuilder(
      stream: FirebaseFirestore.instance.collection('users').snapshots(),
      builder: (context, AsyncSnapshot<QuerySnapshot> snapshot){
        if(snapshot.hasData){
          return ListView.builder(
            physics: const NeverScrollableScrollPhysics(),
            itemCount: snapshot.data!.docs.length,
            shrinkWrap: true,
            itemBuilder: (context, i){
              var data = snapshot.data!.docs[i];
              
              return Padding(
                padding: const EdgeInsets.fromLTRB(25, 5, 25, 5),
                child: Container(
                ),
              );
            },
          );
        } else{
          return const CircularProgressIndicator();
        }
      },
    );
    코드는 이렇게 되어있고, var data = snapshot.data!.docs[i];를 같은 페이지인 외부로 보내고싶습니다.
    어떻게 코드를 짜야할까요?
    #93814

    codingapple
    키 마스터
    두 위젯의 부모위젯에 state하나 만들어두고 
    StreamBuilder안에서 state변경함수써서 state에 집어넣고
    다른 위젯에선 state가져다쓰면 됩니다
    
    그냥 다른 위젯에서도 Firestore.instance.collection('users').snapshots() 써버리는게 쉬울수도요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠