inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

변수의 선언 위치 질문입니다.

351

도성이

작성한 질문수 3

0



class _TopPartState extends State<_TopPart> {
  DateTime selectedDate = DateTime.now();

  @override
  Widget build(BuildContext context) {
    DateTime now = DateTime.now();

DateTime selectedDate의 경우는 클래스 내부에 선언되어 있고 제 생각에는 createState에 초기화가 될 거 같습니다.

즉, 화면이 처음 그려질 때 시간에 대한 정보를 가지고 있는 것 같아요.

궁금한 점은 DateTime now가 selectedDate와 같은 공간에 선언되지 않고 build에 선언된 이유는 setState(...)를 호출할 때 dirty-> build -> clean과정을 거치게 하기 위함 때문인가요?

클론코딩 Flutter

답변 1

3

코드팩토리

안녕하세요.

선택된 날짜는 빌드와 관계없이 데이터를 그대로 유지하기위해서 클래스의 변수로 선언하였고 now의 경우 build가 될때마다 새로 갱신이 되었으면 하는 의도로 build 함수 내부에 선언하였습니다.

클래스의 변수로 선언할경우 build가 재실행돼도 갱신되지 않지만 build 함수 내부의경우 now가 매번 새로운 값으로 갱신됩니다. 그러니 조금 더 업데이트된 '현재' 값을 받을 수 있습니다.

 

LocationPermission.denied관련 질문입니다

0

588

1

videocontrollor dispose

0

431

1

onlogotap함수의 video nullable관련질문

0

391

1

setState 사용 차이

1

441

1

블로그 웹앱 배포 방법

0

507

1

sizedbox 위젯에 primary = RED_COLOR

1

434

1

개념 강의 순서 질문

0

408

1

materialstateProperty 다른 메소드관련질문

0

414

1

내 노트 모아보기

0

502

1

SafeArea (iPhone, Android)

0

408

1

web view 실행 안됩니다.

0

408

1

랜덤 숫자 생성기 프로젝트 관련

0

536

2

안도르이드 애뮬레이터 질문

0

384

1

super를 사용하는 건, 부모와 자식 클래스의 파라미터 이름이 꼭 같아야하나요?

0

473

1

선생님 flutter device를 크롬으로 했을때 http 통신이 안됩니다..

0

781

1

no element

0

441

1

암호화

0

235

1

책과 강의

0

386

1

voidcallback함수와 클래스내에 변수선언에 관한질문

0

475

1

android studio 세팅

0

480

1

오늘도 출근 세팅하기

2

563

1

재사용 클래스 임폴트 방법

0

480

1

가상화를 못하는 CPU인건가요? 확인 부탁드립니다.

0

399

1

flutter dispose 관련

0

1389

2