参考Flutter官方教程:_pushSaved()函数中context为何可引用?
为什么
_pushSaved()里的context可以直接引用? 嘿,这个问题问得特别到位!咱们一步步拆解清楚:
State类自带
context属性
你的RandomWordsState继承自Flutter的State<RandomWords>基类,而State类本身就内置了一个名为context的成员属性。这个属性是Flutter框架在创建State实例时,自动帮我们初始化并赋值的——它代表当前State对应的Widget在整个Widget树中的上下文位置信息,是框架和Widget交互的关键入口之一。类的成员方法可直接访问成员属性
_pushSaved()是RandomWordsState类内部的成员方法,按照面向对象编程的基本规则,类的成员方法天然有权访问类的成员属性。所以你在_pushSaved()里直接写context,本质上就是在访问当前RandomWordsState实例的context成员变量,完全不需要额外传参或者提前声明。
说白了就是:Flutter的State基类已经把context给我们准备妥当了,而你的方法作为类的一部分,自然能直接拿来用啦!
内容的提问来源于stack exchange,提问作者Henry Cho
相关产品推荐
相关产品推荐

