TL; DR:
是构建方法的第二个参数,还是以传统方式声明BuildContext参数的名称?
我正在通过分解“小部件构建(BuildContext上下文)”的每个元素来学习Flutter中的构建方法的基本语法。
到目前为止,我的理解如下:
@override: annotation
Widget build() {}: build method returns a widget
- BuildContext:一个参数/参数,其中包含有关构建此小部件的树中位置的信息
但是,即使我阅读了相关的SO问题和官方文档,也不清楚“上下文”这个词的确切含义。
到目前为止,我确定的是名称“ context”可以更改为任意名称,这意味着它不必与“ context”相同。
答案 0 :(得分:1)
从文档,BuildContext
是:
小部件树中小部件位置的句柄。
context
是BuildContext
这被传递给小部件的制造商,以让它知道它是你的应用程序的widget树内实例。
一种常见用法是在使用Inherited Widget时将其传递给of
方法。
调用Something.of(context)
,例如,返回Something
相对于树中的最接近的小部件,可以提供您,Something
。
您可以详细了解BuildContext
here in the docs。
答案 1 :(得分:0)
ya Baka上下文仅仅是对流名称。 你也可以给其他名字 就像给定的例子 例如mycontext ...就是实例名称...您可以说...
import 'package:flutter/material.dart';
void main()
{
runApp(myApp());
}
class myApp extends StatelessWidget{
@override
Widget build(BuildContext mycontext) {
return MaterialApp(
title: "my app",
home: Scaffold(
appBar: AppBar(),
),
);
}
}