[flutter] 플러터(IndexedStack)에서 인덱스 변경시 이전 페이지의 데이터를 전달하는 방법은 무엇인가요?
- 이전 페이지에서 데이터 전달하기: 이전 페이지에서 데이터를 전달하기 위해 앞으로 이동할 페이지에 해당 데이터를 매개변수로 전달할 수 있습니다. 예를 들어, 다음과 같이 앞으로 이동할 페이지에서 데이터를 받는 생성자를 정의할 수 있습니다.
class NextPage extends StatelessWidget {
final String data;
NextPage({this.data});
// ...
}
- 인덱스 변경 시 데이터 전달하기: IndexedStack 위젯의 인덱스를 변경할 때, Navigator.pushReplacement() 메서드를 사용하여 이전 페이지의 데이터를 전달할 수 있습니다. 예를 들어, 다음과 같이 데이터를 가진 새로운 페이지로 이동할 수 있습니다.
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => NextPage(data: "전달할 데이터"),
),
);
- 데이터 사용하기: 앞서 전달한 데이터는 이동한 페이지에서 사용할 수 있습니다. 생성자를 통해 전달한 데이터는 해당 페이지의 필드로 할당됩니다. 따라서 필요한 곳에서 데이터를 사용할 수 있습니다.
class NextPage extends StatelessWidget {
final String data;
NextPage({this.data});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Next Page'),
),
body: Center(
child: Text(data),
),
);
}
}
이와 같이 IndexedStack을 사용하여 플러터에서 인덱스를 변경하면서 이전 페이지의 데이터를 전달하는 방법을 알아보았습니다. 이를 통해 다른 페이지로 이동하면서 데이터를 유지하고 활용할 수 있습니다.