use_key_in_widget_constructors — 위젯 생성자에는 key 파라미터 사용하기

use_key_in_widget_constructors — 위젯 생성자에는 key 파라미터 사용하기

Widget을 상속한 클래스의 생성자에서 라이브러리 밖으로 공개되는 생성자가 key라는 이름의 파라미터를 갖고 있지 않으면 분석기가 이 진단을 내보내요. Flutter에서 위젯을 구분하는 핵심 역할을 하는 key를 빠뜨리지 않도록 돕는 규칙이에요.

출처: use_key_in_widget_constructors

본문

Description

Dart 분석기는 Widget의 서브클래스에 있는 생성자 중 라이브러리 내부(private)로 제한되지 않은 생성자가 key라는 이름의 파라미터를 갖고 있지 않을 때 이 진단을 만들어요.

Example

다음 코드는 MyWidget 클래스의 생성자에 key라는 이름의 파라미터가 없기 때문에 이 진단이 발생해요.

import 'package:flutter/material.dart';

class MyWidget extends StatelessWidget {
  const MyWidget({required int height});
}

다음 코드는 MyWidget 클래스의 기본 생성자에 key라는 이름의 파라미터가 없기 때문에 이 진단이 발생해요.

import 'package:flutter/material.dart';

class MyWidget extends StatelessWidget {}

Common fixes

생성자에 key라는 이름의 파라미터를 추가하세요. 필요하면 생성자를 명시적으로 선언하면 돼요.

import 'package:flutter/material.dart';

class MyWidget extends StatelessWidget {
  const MyWidget({super.key, required int height});
}

더 알아보기