더북(TheBook)

TouchableOpacity 컴포넌트에서 설정한 activeOpacity Props는 터치했을 때 적용할 투명도입니다. 값을 설정하지 않으면 기본값은 0.2로 설정됩니다.

▲ 그림 3-33 TouchableOpacity 사용

안드로이드에서는 TouchableOpacity 대신 TouchableNativeFeedback을 사용해봅시다. 이때 주의할 점이 있습니다. 해당 컴포넌트를 iOS에서 사용하면 오류가 발생하기 때문에 조건부 렌더링을 잘 처리해야 합니다.

components/AddTodo.js

import React, {useState} from 'react';
import {
  View,
  StyleSheet,
  TextInput,
  Image,
  TouchableOpacity,
  Platform,
  TouchableNativeFeedback,
} from 'react-native';

function AddTodo() {
  const [text, setText] = useState('');

  return (
    <View style={styles.block}>
      <TextInput
        placeholder="할일을 입력하세요."
        style={styles.input}
        value={text}
        onChangeText={setText}
      />
     {Platform.OS === 'ios' ? (
        <TouchableOpacity activeOpacity={0.5}>
          <View style={styles.buttonStyle}>
            <Image
            source={require('../assets/icons/add_white/add_white.png')}
            />
          </View>
        </TouchableOpacity>
    ) : (
      <TouchableNativeFeedback>
        <View style={styles.buttonStyle}>
          <Image
            source={require('../assets/icons/add_white/add_white.png')}
          />
        </View>
      </TouchableNativeFeedback>
    )}
    </View>
  );
}

(...)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.