이제 해당 화면을 구현해주겠습니다. 해당 화면에서는 제목과 내용을 작성할 수 있는 두 개의 TextInput을 보여주고 해당 인풋들의 상태 값은 useState를 사용하여 관리하겠습니다.
screens/WriteScreen.tsx
import React, {useState} from 'react'; import { KeyboardAvoidingView, Platform, StyleSheet, TextInput, } from 'react-native'; import {SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context'; function () { const {top} = useSafeAreaInsets(); const [title, setTitle] = useState(''); const [body, setBody] = useState(''); return ( <SafeAreaView style={styles.block} edges={['bottom']}> <KeyboardAvoidingView style={styles.keyboardAvoiding} behavior={Platform.select({ios: 'padding'})} keyboardVerticalOffset={Platform.select({ios: top + 60})}> <TextInput placeholder="제목" style={styles.input} value={title} onChangeText={setTitle} /> <TextInput placeholder="내용" style={[styles.input, styles.body]} multiline textAlignVertical="top" value={body} onChangeText={setBody} /> </KeyboardAvoidingView> </SafeAreaView> ); } const styles StyleSheet. ({ block { flex: 1, paddingHorizontal: 12, paddingVertical: 16, flexDirection: 'column', }, keyboardAvoiding: { flex: 1, }, input: { backgroundColor: 'white', fontSize: 14, lineHeight: 18, paddingHorizontal: 16, paddingVertical: 12, borderRadius: 4, }, body: { paddingTop: 12, paddingBottom: 12, marginTop: 16, flex: 1, }, }); export default WriteScreen;