728x90
728x90
blurOnSubmit 속성과 submitBehavior 속성
들어가며
- 리액트 네이티브(React Native)의
TextInput
컴포넌트에서 사용할 수 있는blurOnSubmit
속성과submitBehavior
속성에 대해 정리해본다.

blurOnSubmit 속성
개념
- 우선
blurOnSubmit
속성은 다음과 같이TextInput
컴포넌트에서 사용할 수 있다.
<TextInput style={tw.style('px-3 py-2 font-semibold text-lg', { lineHeight: 28, outline: 'none', // 포커스 시, 검정색 경계 제거 })} placeholder={placeholder} value={text} blurOnSubmit={true} // here onSubmitEditing={() => { setIsFocused(false); Keyboard.dismiss(); }} />
blurOnSubmit
속성은TextInput
창 텍스트를 입력하고, 엔터(Enter) 버튼을 누르면 입력한 텍스트가 제출(Submit)되도록 해주는 속성이다.- 따라서 텍스트 필드가 블러 처리되게 된다.
- 기본값은 단일행(Single-line)의 경우
true
, 다중 행(Multi-line)의 경우false
이다. blurOnSubmit = true
를 지정할 경우, 입력 후(Enter 키 입력 시) 필드가 자동으로 포커스를 잃는다.blurOnSubmit = false
를 지정할 경우, 입력 후에도 필드가 계속 활성화된다. (Enter 입력 시 줄바꿈)- 다중 행(
multiline = true
) 상태에서blurOnSubmit = true
로 설정하면, Enter 키를 누르면 포커스가 해제되며, 줄바꿈 대신onSubmitEditing
이벤트가 발생한다.
submitBehavior 속성
개념
- 최신 버전의 리액트 네이티브에서는
submitBehavior
속성을 이용하여 이 기능을 구현할 수 있다.- 기존의
blurOnSubmit
속성은 사용 중단(Deprecated)이 되었다.
- 기존의
<TextInput multiline submitBehavior="blurAndSubmit" // 엔터 키 누를 시, 포커스 해제 + onSubmitEditing onSubmitEditing={() => console.log('제출됨!')} placeholder="내용을 입력하세요" />
사용 가능한 옵션들
값 | 설명 |
newline |
- 엔터 키를 누르면 줄을 바꾼다. (기본값) - 다중 행(Multi-line) 필드에 적용한다. |
blurAndSubmit |
- 엔터 키를 누르면 필드가 포커스를 잃고(onBlur ), onSubmitEditing 이 실행된다. - 이전의 blurOnSubmit = true 와 동일하다. |
submit |
- 엔터 키를 누르면 줄바꿈 없이 onSubmitEditing 이 실행된다. |
blurOnSubmit = true → submitBehavior="blurAndSubmit"
blurOnSubmit = false → submitBehavior="newline"
참고 사이트
TextInput · React Native
A foundational component for inputting text into the app via a keyboard. Props provide configurability for several features, such as auto-correction, auto-capitalization, placeholder text, and different keyboard types, such as a numeric keypad.
reactnative.dev
728x90
728x90
'Programming > React Native' 카테고리의 다른 글
[React Native] npm install vs. expo install (0) | 2025.04.03 |
---|---|
[React Native] 환경 변수 파일 사용하기 (react-native-dotenv) (0) | 2025.04.03 |
[React Native] 카메라 권한 요청 메시지 표시 방법 (Expo) (0) | 2025.02.24 |
[React Native] 클립보드 기능 구현하기 (expo-clipboard) (0) | 2025.02.24 |
[React Native] TailwindCSS IntelliSense 활성화하기 (VS Code) (0) | 2025.02.19 |
[React Native] 클릭 시, 리플 효과(Ripple Effect) 주는 방법 (1) | 2024.12.11 |
[React Native] FlatList (0) | 2024.12.10 |
[React Native] Expo Go 앱에서 Expo 프로젝트 연결 안되는 문제 해결 방법 (There was a problem running the requested app) (0) | 2024.11.26 |