이 spread에는 Map이 필요해요

이 spread에는 Map이 필요해요

상수 Map을 만들 때 spread(...) 연산자를 쓰면, 그 안에 들어가는 값은 반드시 Map이어야 해요. 다른 타입의 값이 들어오면 문제가 생기죠. 이 진단이 왜 나오는지, 어떻게 고치는지 살펴볼게요.

출처: const_spread_expected_map

본문

Description

Dart 분석기는 상수 Map에서 spread 연산자의 표현식이 Map이 아닌 다른 값으로 평가될 때 이 진단을 내요.

Example

아래 코드는 map1의 값이 null인데, null은 Map이 아니어서 이 진단이 발생해요.

const dynamic map1 = 42;
const Map<String, int> map2 = {...map1};

Common fixes

표현식을 상수 Map으로 평가되도록 바꿔 주면 돼요.

const dynamic map1 = {'answer': 42};
const Map<String, int> map2 = {...map1};

더 알아보기