use_ key_ in_ widget_ constructors
Details about the 'use_key_in_widget_constructors' diagnostic produced by the Dart analyzer.
Constructors for public widgets should have a named 'key' parameter.
Description
#
The analyzer produces this diagnostic when a constructor in a subclass of
Widget that isn't private to its library doesn't have a parameter named
key.
Example
#
The following code produces this diagnostic because the constructor for
the class MyWidget doesn't have a parameter named key:
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
MyWidget({required int height});
}
The following code produces this diagnostic because the default
constructor for the class MyWidget doesn't have a parameter named key:
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {}
Common fixes
#
Add a parameter named key to the constructor, explicitly declaring the
constructor if necessary:
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
MyWidget({super.key, required int height});
}
Unless stated otherwise, the documentation on this site reflects Dart 3.10.3. Report an issue.