작성
·
16
0
null 연산자 표기에 관해 의문사항이 생겼습니다.
U&I 에서는 iconButton에 정의에 아래와 같이 적혀 있어 VoidCallback 뒤에 null 연산자를 표기하는 것으로 이해했습니다.
required void Function()? onPressed,
ElevatedButton 역시 위와 같이 정의되어 있지만 이번 강의에서는 표기가 안되있어서 기존에 작성했던 U&I 코드로 가 null 연산자를 제거해보니 정상적으로 동작하는 것을 확인했습니다.
null 연산자 관련 에러 로그가 없다면 표시를 생략해도 되는 것인지, 아니면 이와 상관없이 위젯 정의에 명시된대로 표기하는것이 권장사항인지 의문이 들어 질문드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. novellus님.
Flutter에서 버튼의 onPressed 속성과 같은 콜백을 정의할 때 null 가능성을 나타내기 위해 타입에 물음표(?)를 추가할 수 있습니다. 이는 해당 콜백이 null일 수도 있음을 의미합니다. 아래에 자세한 설명을 드리겠습니다.
null 가능성과 물음표 사용:
VoidCallback?와 같이 물음표를 사용하면 그 콜백은 null일 수 있음을 나타냅니다. 이는 해당 콜백을 반드시 구현할 필요가 없을 때 유용합니다.VoidCallback처럼 물음표 없이 사용할 경우, 그 콜백은 null이 아니어야만 합니다.위젯의 정의에 따른 사용:
IconButton이나 ElevatedButton 등의 위젯에서는 기본적으로 onPressed가 null 가능하다는 가정을 하고 설계되었습니다. 즉, 만약 해당 콜백을 명시하지 않으면 버튼이 비활성화됩니다.실제 사용 시:
관련 질문 URL은 아래와 같습니다:
- null 연산자 관련 플러터에서의 사용에 관한 논의
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.