在Flutter应用中,假设我有一个包含多个widget的widget类(例如,只是一个典型的单一长
我有一个问题,这个
在上面的例子中,我在父类中三次调用了
我的意思是,我在网上看到很多示例都推荐使用以上方法,但这真的是一个正确的做法吗?我可能还没有完全理解flutter,但既然它是一个小部件树,将父
Widget build()
类,其中包含了多个widget)。然后这些widget被分成多个子widget,拥有它们自己的类。举个例子,先前的代码如下: class Parents extend StatelessWidget{
Widget build(BuildContext context){
//Parent
return Column{
children: <Widget>[
//Child 1
Container('something inside'),
//Child 2
Container('something inside'),
//Child 3
Container('something inside'),
...
]
}
}
}
现在:
class Parents extend StatelessWidget{
Widget build(BuildContext context){
//Parent
return Column{
children: <Widget>[
//Child 1
myContainer('first child'),
//Child 2
myContainer('first child'),
//Child 3
myContainer('first child'),
...
]
}
}
}
class myContainer extend StatelessWidget{
Widget build(BuildContext context){
//child reusable widget
return Container{
'something inside'
}
}
}
我有一个问题,这个
Widget build(BuildContext context)
是什么意思。在上面的例子中,我在父类中三次调用了
myContainer
类。在我的想象中,这意味着build
小部件被调用了四次(一次是父类,另外三次是每个孩子)。我的意思是,我在网上看到很多示例都推荐使用以上方法,但这真的是一个正确的做法吗?我可能还没有完全理解flutter,但既然它是一个小部件树,将父
context
直接传递给子节点是否更高效(从性能方面考虑)呢?像下面这样:class myContainer extend StatelessWidget{
final BuildContext parentContext;
Widget build(parentContext){
//child reusable widget
return Container{
'something inside'
}
}
}
两种方法似乎都可以,但我想知道我的思路是否正确。我不完全理解Context
的机制,非常感谢任何澄清!
感谢大家!