이제 해당 화면을 구현해주겠습니다. 해당 화면에서는 제목과 내용을 작성할 수 있는 두 개의 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 WriteScreen() {
      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.create({
      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;
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.