MyInput 컴포넌트 만들기
리액트 네이티브에서는 TextInput 컴포넌트를 사용하여 사용자가 입력한 텍스트를 전달받을 수 있습니다.
다음은 TextInput 컴포넌트를 사용하는 방법의 예입니다.
import React, { useState } from 'react';
import { View, TextInput, StyleSheet } from 'react-native';
const MyInput = () => {
const [text, setText] = useState('');
const onChangeText = (inputText) => {
setText(inputText);
};
return (
<View style={styles.container}>
<TextInput
onChangeText={onChangeText}
value={text}
placeholder="아무거나 입력하세요..."
style={styles.input}
/>
</View>
);
};
const styles = StyleSheet.create({
container: {
paddingHorizontal: 16,
paddingTop: 16,
},
input: {
height: 40,
borderColor: 'gray',
borderWidth: 1,
paddingHorizontal: 8,
},
});
export default MyInput;
TextInput 컴포넌트는 입력 칸을 렌더링하는 데 사용됩니다.
- onChangeText prop은 사용자가 입력한 텍스트가 변경됬을 때 onChangeText함수를 실행시킵니다.
- onChangeText함수에서는 useState hook를 사용하여 사용자가 입력한 텍스트의 상태를 관리합니다.
- value prop은 사용자가 입력한 텍스트의 값을 설정하는 데 사용합니다.
- placeholder prop은 입력 칸이 비어 있을 때 보여줄 텍스트를 설정하는 데 사용합니다.
- style prop은 높이, 테두리 색상 및 padding과 같은 스타일을 입력 칸에 적용하는 데 사용합니다.
MyInput 컴포넌트 사용하기
이제 부모 컴포넌트인 App.js에서 MyInput 컴포넌트를 가져와 사용해보겠습니다.
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import MyInput from './MyInput';
const App = () => {
return (
<View style={styles.container}>
<Text>My Input Example</Text>
<MyInput />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 16,
},
});
export default App;