작성
·
296
·
수정됨
1
강의 잘 보고 있습니다.
강의가 너무 좋아서 책도 함께 구매하려고 합니다.
좋은 강의 감사합니다.
다름이 아니고 질문이 하나 있어 이렇게 글남깁니다.
플루터에서 setState는 화면을 갱신하는 용도로 사용하고 있다고 알고 있습니다.
만약에 a= 10이라고 설정한다고 가정하면
setState(() { a = 10; });
a = 10; setState( () { } )
1번 로직과 2번 로직이 내부에서 어떤 차이점이 있을까요?
테스트 해본결과 1번, 2번 모두 정상 작동하더라구요
-----------------------------------------------
공부하다 추가 질문이 있어 문의 드립니다.
플루터에서 네임드 라우팅을 materialApp에 설정할때 특정 페이지에 필수 파라미터가 존재하면 어떤식으로 등록을 해야 할까요?
예 )
가정 : Two 페이지는 str값을 필수 파라미터로 받고 있습니다.
routes: {
"/": (context) => One(),
"/two": (context) => Two(str : ??),
},
이게 안되면 아래와 같은 방법으로 파라미터를 설정해야 하는지 궁금합니다!
var two = Two();
two.str = "asdf";
Navigator.of(context).push(MaterialPageRoute(builder: (_) => two));
답변 1
0
안녕하세요!
setState()는 말씀하신대로 buid() 함수를 재실행하는 역할을 하기때문에 상태를 따로 변경한 뒤 setState()를 실행해도 아무런 문제가 없습니다. 하지만 "명시적"으로 어떤 변수가 build() 함수가 재실행 된 뒤 변경돼야하는지 구분하기 어렵습니다.
화면이동간 상태를 넘겨주는경우 전자가 맞습니다.
감사합니다!