What does Underscore "_" before variable name mean for Flutter
Solution 1:
It's not just a naming convention. Underscore fields, classes and methods will only be available in the .dart
file where they are defined.
It is common practice to make the State
implementation of a widget private, so that it can only be instantiated by the corresponding StatefulWidget
:
class MyPage extends StatefulWidget {
@override
_MyPageState createState() => _MyPageState();
}
class _MyPageState extends State<MyPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}
Solution 2:
From the Dart guide
Unlike Java, Dart doesn’t have the keywords public, protected, and private. If an identifier starts with an underscore (_), it’s private to its library. For details, see Libraries and visibility.