wangxiaoaer
V2EX  ›  问与答

Flutter 的 StatefulWidget 为什么需要额外定义 state?

  •  
  •   wangxiaoaer · Jan 5, 2019 · 2834 views
    This topic created in 2860 days ago, the information mentioned may be changed or developed.

    xx

    如图,MyApp 里面的 home 是一个 StatefulWidget,里面为什么不直接实现 build 方法,而是要创建 state 对象?

    开始以为 state 对象是纯状态管理,不带 UI 逻辑的,结果发现 state 里面也要实现 build 方法,构造界面,不是很理解为什么要多绕一圈?

    比如直接在 MyHomePage 里面存储状态 counter,并且构造界面,处理事件等,有什么问题(当然目前是做不到,因为 MyHomePage 里面并没有 build 方法可以 override )?

    3 replies  •  2019-01-06 09:11:44 +08:00
    everwanna
    everwanna
    Jan 5, 2019 via Android
    1
    为了方便 app 进入后台序列化,强行把 app 和状态数据分离
    wangxiaoaer
    wangxiaoaer
    OP
    Jan 5, 2019
    2
    @everwanna #1 状态数据你指的是 state ?可是 state 里面明明包含构建 UI 的代码啊。
    everwanna
    everwanna
    Jan 6, 2019 via iPhone
    3
    变化的都属于 UI 状态,区别于静态 UI 部分,这个不是 MVC 的 model 数据
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4458 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:42 · PVG 13:42 · LAX 21:42 · JFK 00:42
    ♥ Do have faith in what you're doing.