首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在颤振中将参数传递给路线

在颤振中将参数传递给路线
EN

Stack Overflow用户
提问于 2022-05-02 13:13:08
回答 1查看 263关注 0票数 -1

在main.dart上我有StatelessWidget和StatefulWidget。

在StatefulWidget中,变量myUsername设置来自sharedPreferences的用户名。

如何将用户名从StatefulWidget传递给StatelessWidget

代码语言:javascript
运行
复制
class MyHome extends StatelessWidget {
  @override
  Widget build(BuildContext context)  {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      initialRoute: '/home',
      routes: {
        '/home': (context) => MyHomePage(title: 'Home'),
        '/myUser':(context) => MyUser(paramUser: "set here username from StatefulWidget"  )
      },
      title: 'app',
    );
  }
}

或者有更好的解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2022-05-02 13:57:39

导航只执行一页到另一页的操作。因此,如果您想将数据从一个传递到另一个,那么为任何特定页面创建构造函数,然后将数据传递给它们。

代码语言:javascript
运行
复制
class UserPage extends StatefulWidget {
  final bool isMyPost;
  final String postId;

  const UserPage({Key? key, required this.postId, this.isMyPost = false}) : super(key: key);

  @override
  _ UserPage State createState() => _ UserPage State();
}

class _ UserPage State extends State< UserPage > {

//Rest of Code
}

然后像这样导航:

代码语言:javascript
运行
复制
Navigator.push(context,
               MaterialPageRoute(
                    builder: (_) => Preview(
    postId:provider.searchPost[index].postId,
                                    )));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72087254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档