Macho000

StatelessWidget でデータを受け取る場合

class NextPage extends StatelessWidget {
  // 画面遷移元からのデータを受け取る変数
  final int value;

  // コンストラクタ
  const NextPage({Key? key, required this.value}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
       ,  // 省略
    );
  }
}

StatefulWidget でデータを受け取る場合

StatelessWidgetの手順に加えて、Statefulではデータ(変数)にアクセスするにはwidget.変数を用いる

class NextPage extends StatefulWidget {
  // 画面遷移元からのデータを受け取る変数
  final int value;

  // コンストラクタ
  const NextPage({Key? key, required this.value}) : super(key: key);

  @override
  State<NextPage> createState() => _NextPageState();
}

class _NextPageState extends State<NextPage> {
  // 状態を管理する変数
  late int state;

  @override
  void initState() {
    super.initState();

    // 受け取ったデータを状態を管理する変数に格納
    state = widget.value;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
       ,  // 省略
    );
  }
}

データの受け渡し方

わたす変数のデータを引数として渡す。

Navigator.push(
  context, 
  MaterialPageRoute(builder: (context) => NextPage(value: 100)),
);

参考文献

https://hiyoko-programming.com/1347/

#Flutter