我一直在从事一个 flutter 项目,我注意到避免在公共 API 中使用私有类型。有办法解决这个警告吗?
class SubCategoriesPage extends StatefulWidget {
final MainModel mainModel;
// final Ads ad;
const SubCategoriesPage(this.mainModel, {Key? key}) : super(key: key);
@override
_SubCategoriesPage createState() { // Avoid using private types in public APIs.
return _SubCategoriesPage();
}
}
Run Code Online (Sandbox Code Playgroud)
Har*_*rma 43
因为createState方法返回State<Example>所以它阻止返回任何 private State.
您需要像这样更新您的代码。
class SubCategoriesPage extends StatefulWidget {
final MainModel mainModel;
// final Ads ad;
const SubCategoriesPage(this.mainModel, {super.key});
@override
State<SubCategoriesPage> createState() { // Avoid using private types in public APIs.
return _SubCategoriesPage();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我有同样的问题
class CotizacionScreen extends StatefulWidget {
const CotizacionScreen({super.key});
@override
State<CotizacionScreen> createState() => _CotizacionScreenState();
}
Run Code Online (Sandbox Code Playgroud)
我通过更改解决了这个问题:
@override
_CotizacionScreenState createState() => _CotizacionScreenState();
Run Code Online (Sandbox Code Playgroud)
经过:
@override
State<CotizacionScreen> createState() => _CotizacionScreenState();
Run Code Online (Sandbox Code Playgroud)
小智 5
由于这是一个StatefulWidget,我猜测该类_SubCategoriesPage继承自State,因为它由 . 返回createState()。
如果是这样,返回类型可以更改为State. 由于State是公共的,因此可以安全地从公共方法返回它createState()。
| 归档时间: |
|
| 查看次数: |
10890 次 |
| 最近记录: |