flutter 初学者的疑问,如何组织页面和代码

2023-10-25 03:55:16 +08:00
 techstay

最近开始学习 flutter ,对着官方文档看了一段时间,感觉需要练习一下。官方的例子也不少,所以我想着如果把他们整合到一起应该也不错,用 drawer 做个导航,每一个选项就是一个展示页面。

所以界面结构应该是这样的,这样看来似乎只需要将 body 处的组件独立出来就好了。

但是似乎又有些不对,因为提供 route 功能的是 MaterialApp ,所以看起来似乎每一个页面都应该是完整的 scaffold ,包括 appbar 和 drawer 这些。但是 appbar 和 drawer 貌似又是公用的。

所以这时候应该怎么组织才比较合理呢?希望老哥们指点一下。

1322 次点击
所在节点    Flutter
6 条回复
GooMS
2023-10-25 04:21:12 +08:00
我是把 appbar 这些做组件了,每个都是单独的 scaffold

仔细想想,其实能复用的页面也没有几个
july1995
2023-10-25 08:21:14 +08:00
一个文件一把梭,哈哈,
buxudashi
2023-10-25 09:57:41 +08:00
你的感觉是对的。

一般底部 4 个按钮,都要独立出来共用。所以 flutter 的设计本身就没考虑现实。它实现了 1 个页面 4 个切换。而不是 4 个页面。很明显这不合理。

所以还要自己组织。找路由组件啥的自己写吧。
jeepc
2023-10-25 10:14:30 +08:00
如果要快,可以参考这个 https://juejin.cn/post/6924104248275763208 ,然后 getx 一把梭。
milukun
2023-11-08 09:15:13 +08:00
初学者可以用别人铺垫好的窝子: https://www.v2ex.com/t/989611
ZGame
2023-11-08 11:46:32 +08:00
flutter 的思想都是学 react 的, 至于 react ,有很多商业的开源组件库 ,类似 ant design ,material design 等等,可以去前端汲取一点灵感。而且 drawer 和 appbar 公用其实和组件复用并没有冲突啊,你要做的就是要么 做 provider ->提取组件内的状态,或者做 hooks 给其他组件用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/985109

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX