플러터 부모 자식 widget간 state 공유

부모 -> 자식 state 전송하는 법

  1. 보내기
    DialogUI( state : a )
  • 작명 : 변수명으로 파라미터에 추가
  1. 자식은 state 이름을 등록
class DialogUI extends StatelessWidget {
	DialogUI({key? key, this.state}) : super(key: key);
	final state;
}
  • this.작명한 이름, final 작명한 이름 2개 추가
  • DialogUI 변수 선언부분의 {} 는 {}안의 파라미터는 선택적인 파라미터라는 뜻
  1. 사용
  • 자식 -> 부모로 전송은 안됨, 관련없는 widget끼리의 전송도 불가
  • state는 최대한 위에 보관하는게 좋다

함수를 전달하는 경우

class _MyAppState extends State<MyApp> {  
	 var total = 3;  
	 var name = ['test1', 'test2', 'test3'];  
	 var like = [0, 0, 0];  

	//이부분을 못 만들어서 삽질한듯
	//함수를 전송하는 방법 자체는 변수 전달할 때랑 동일함
	 addOne() {  
	    setState(() {  
	      total++;  
	 });  
 }

좋은 웹페이지 즐겨찾기