use_key_in_widget_constructors
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.7.3. Page last updated on 2025-05-08. View source or report an issue.