我开始颤抖,对我来说没有什么意义。
我了解需要StatelessWidget
和StatefulWidget
。实际上,在React中,我们有完全相同的概念。 Flutter中的build
在React中是render
,而StatelessWidget
是React功能组件,而StatefulWidget
是React.Component
。到目前为止,一切都很好。
问题在于,与React不同,在Flutter上,StatefulWidget
并非恰好具有状态的Widget。实际上,它只是一个具有createState()
创建状态的类,现在我不了解的部分,State<T>
类是实际的窗口小部件,因为{ {1}}有State
。
对我来说,如果build
结构类似于:
StatefulWidget
通过这种方式,class MyApp extends StatelessWidget<TState> {
// Here, the state parameter DOES NOT EXIST. This is pseudo-code.
@override
Widget build(BuildContext context, TState state) {
}
}
函数根据当前状态创建不同的build
。这会更像React。
为什么Flutter用这种方式实施?为什么Elements
类实际上是Widget,而不是State
本身?