티스토리 뷰

#1/Flutter

[Flutter] Context 컨텍스트

_쿠나 2021. 9. 3. 14:59
728x90

안드로이드부터 계속 context에 괴롭힘당하고 있음..ㅎㅎ

 

위젯이 각각 용도가 있는 방이라고 했을 때(주방, 화장실, 거실 등)

context는 방의 이름을 알려주는 역할을 한다. 그래서 보통

class sample extends StatefulWidget{

	@override
    Widget build(BuildContext context){
    
    //여기서 위의 파라미터 context는 sample 클래스를 호출한 위젯을 나타낸다.
    
    	return Scaffold( 
        	child: sampleData(context);
        );
    }
}


Widget sampleData(BuildContext context){

	//여기서 context는 Scaffold를 나타냄.

	return Container();
}

 

 


나는 Navigation에서 context의 벽에 부딪혀 여기까지 오게 되었다.

void main(){
	runAPp(MaterialApp(
    	home: FirstRoute()
    ));
}

class FirstRoute extends StatelessWidget{
	@override
    Widget build(BuildContext context){
    	...
    }
}

이 때 build가 가져오는 context는 FirstRoute를 호출하는 MaterialApp 이 된다.

 

반대로

 

void main(){
	runApp(FirstRoute())
    ));
}

class FirstRoute extends StatelessWidget{

	FirstRoute();

	@override
    Widget build(BuildContext context){
    	...
    }
}

이런 구조가 되면 build의 context는 FirstRoute가 되고 이건 Widget이 아니므로 에러가 발생합니다...

 

아마 내가 이해한 내용은 그렇다^^@~ 

제가 틀렸다면 댓글을 달아주시어요*^^*

728x90
댓글
250x250
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함