万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    replace可能??

    // スタック内のルートのリストを取得する
    var routes = List<MaterialPageRoute>.from(Navigator.of(context).routes);
    
    // スタック内の既存のルートを特定する
    var oldRoute = routes.firstWhere((route) => route.settings.name == '/old_screen');
    
    // スタック内の既存のルートを新しいルートに置き換える
    var index = routes.indexOf(oldRoute);
    routes[index] = MaterialPageRoute(builder: (context) => MyNewScreen());
    
    // スタック内のルートを更新する
    setState(() {
      Navigator.of(context).popUntil((route) => route.isFirst);
      for (var route in routes) {
        Navigator.of(context).push(route);
      }
    });

    Navigator.of(context).routesのroutesにアクセスできない

    var routes = <Route>[];
    Navigator.of(context).widget.onGenerateRoute = (settings) {
      routes.add(settings.name);
      return null;
    };
    Navigator.of(context).popUntil((route) => route.isFirst);
    for (var route in routes.reversed) {
      Navigator.of(context).pushNamed(route);
    }

    onGenerateRouteはfinalなので代入不可能じゃん!!!