TextFormField와 TextField

pharmDev·2024년 12월 13일

좋아요! 초보자도 이해하기 쉽도록, 방금 두 답변을 합쳐서 다시 정리할게요.


TextField는 기본적인 입력 박스

TextField는 글자를 입력할 수 있는 가장 단순한 입력 박스예요.
우리가 검색창이나 간단한 입력란을 만들 때 쓰기 좋아요.
복잡한 기능은 없고, 입력한 값을 바로 보여주거나 처리하는 데 적합해요.

예시

TextField(
  onChanged: (value) {
    print('사용자가 입력한 값: $value');
  },
);

언제 사용할까?

  • 검색창, 댓글 입력란처럼 간단히 텍스트를 입력받을 때.
  • 입력값 확인이나 폼 상태 관리는 필요하지 않은 경우.

TextFormField는 폼(Form)에서 사용하는 입력 박스

TextFormFieldTextField보다 한 단계 더 똑똑한 입력 박스예요.
폼(Form)이라는 그룹 안에서 여러 입력란을 묶어서 관리할 때 사용하고, 입력 값이 제대로 들어왔는지 확인(유효성 검사)하는 기능이 있어요.
예를 들어, 로그인 폼이나 회원가입 폼처럼 입력 값을 꼼꼼히 확인해야 할 때 적합해요.

예시

TextFormField(
  validator: (value) {
    if (value == null || value.isEmpty) {
      return '값을 입력해주세요!';
    }
    return null;
  },
);

언제 사용할까?

  • 회원가입, 로그인 같은 폼(Form) 기반 작업에서.
  • 여러 입력 필드를 그룹으로 묶고, 입력 값이 유효한지 검사해야 할 때.

쉽게 구분하기

  1. TextField는 간단한 입력 박스:
    검색창, 간단한 입력란처럼 값만 입력받으면 될 때 사용.
  2. TextFormField는 똑똑한 입력 박스:
    폼(Form)에서 여러 입력을 관리하고, 값을 확인해야 할 때 사용.

결론

  • TextField → 단순한 입력을 처리할 때 사용.
  • TextFormField → 폼(Form) 작업과 입력값 검사가 필요할 때 사용.

이렇게 사용 목적에 따라 선택하면 돼요. 😊

profile
코딩을 배우는 초보

0개의 댓글