[flutter] state 상속

soyyeong·2022년 2월 20일
0

flutter

목록 보기
17/18

한 클래스 안의 변수를 다른 클래스 안에서 사용하고 싶다면?
부모 위젯의 state를 자식위젯이 쓰려면?
자식 위젯한테 전송을 해야 함

  1. 보내고
  2. 등록하고
  3. 쓴다

  1. 부모 위젯에서
    자식위젯(작명 : 보낼 state);
showDialog(context: context, builder: (context){
  return DialogUI(state: a);
});

작명 -> state
보낼 state -> a


  1. 자식위젯({key? key, this.작명})
    var 작명;

    (에러나면 앞에 const 지워보자. 지우기 싫으면
    var 작명 대신 final 작명; 이렇게 써보기)

    -> final로 만들면 수정 안됨
    관습적으로 final을 많이 씀
    부모 위젯에서 가져온 변수 잘 변경 안 하기 때문

class DialogUI extends StatelessWidget {
  DialogUI({Key? key, this.state}) : super(key: key);
  var state;

또는

class DialogUI extends StatelessWidget {
  const DialogUI({Key? key, this.state}) : super(key: key);
  final state;

DialogUI(a, b)
내가 만든 함수에서 a,b라는 파라미터를 쓸 수 있다는 뜻

DialogUI({})
이렇게 중괄호 쓰면 선택적으로 파라미터 쓴다는 의미
-> DialogUI(state : '123')


  1. 부모위젯에서 가져온 state 쓰면 끝!
Text(state.toString())

+) 추가로!!
state 전송은 부모에서 자식으로만 가능
자식 -> 부모, 자식 -> 자식 이렇게 안 됨

0개의 댓글

관련 채용 정보