| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- ์น๊ฐ๋ฐ
 - ๋ฐฑ์ค
 - ์ดํญ๊ณ์
 - ํ๋ก ํธ์ค๋
 - ๋ฐฑ์๋
 - ๋ฐฑ์ค1436
 - ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ
 - ์ปด๊ณต
 - ์ปด๊ณต์
 - ํ๋ก๊ทธ๋๋ฐ
 - ์๊ณ ๋ฆฌ์ฆ
 - ์ฐ์ ์์ํ
 - ์ปดํจํฐ๊ณตํ
 - ๋ฆฌ์กํธ
 - ์คํ๋ง
 - ๋ชจ๋ฐ์ผ์ฑํ๋ก๊ทธ๋๋ฐ
 - spring
 - ํ์ด์ฌ
 - ๋จ์ํ ์คํธ
 - ๊ทธ๋ฆฌ๋
 - ์๋ฃ๊ตฌ์กฐ
 - ์ฝ๋ฉ
 - SSE
 - ์น๊ฐ๋ฐ๊ธฐ๋ก
 - ๋ฐฑ์คํ์ด
 - ์ฝ๋ฉํ ์คํธ
 - ๊ฐ๋ฐ์
 - ๋ฆฌ์กํธ๋ค์ดํฐ๋ธ
 - boj11653
 - ChatGPT
 
- Today
 
- Total
 
๐ป๐ญ๐ง๐
[React Native] 02-4 ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ ์์ฑ ์ดํดํ๊ธฐ ๋ณธ๋ฌธ
[React Native] 02-4 ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ ์์ฑ ์ดํดํ๊ธฐ
adorableco 2023. 8. 5. 03:33๋ฒํผ์ ๋๋ฅด๋ฉด ๋ํ์์๊ฐ ๋ํ๋๋ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
๋ฒํผ ์ปดํฌ๋ํธ
import react from 'react';
import {SafeAreaView, Alert, Button} from 'react-native';
export default function App() {
  return (
    <SafeAreaView>
      <Button
        title="Home"
        onPress={() => Alert.alert('home pressed.', 'message')}
      />
    </SafeAreaView>
  );
}
- Button ์ฝ์ด ์ปดํฌ๋ํธ๋ onPress ์์ฑ์ ์ ๊ณตํ๋ค. โก๏ธ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ง์ ํด์ผ ํจ.
- <Button onPress = {์ฝ๋ฐฑ_ํจ์}>
- ์ฝ๋ฐฑ ํจ์์ ํํ : () => {/* ํจ์ ๋ชธํต */}
 
 
 - <Button onPress = {์ฝ๋ฐฑ_ํจ์}>
 - ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ Alert API (Application Programming Interface) ๋ฅผ ์ ๊ณตํ๋ค.
- Alert API ๊ฐ ์ ๊ณตํ๋ alert ์ ์  ๋ฉ์๋ : static alert(ํ์ดํ, ๋ฉ์์ง)
 - ์์ ์ฝ๋์์ onPress={() => Alert.alert('home pressed.', 'message')} ๋ ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ๋ํ๋๋ค.
 
 

ํฐ์ฒ๋ธ ์ฝ์ด ์ปดํฌ๋ํธ
- Button ์ ๋์์ธ์ ์ตํต์ฑ์ด ์๋ค๋ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ํฐ์ฒ๋ธ ์ฝ์ด ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
 
ํน์ง
1) ์ปดํฌ๋ํธ ์์ด์ ํฐ์น๊ฐ ์ผ์ด๋๋ฉด onPress ์ด๋ฒคํธ ์์ฑ์ ์ค์ ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ ์ฝ๋ฐฑ ํจ์๋ฅผ ํธ์ถํ๋ค.
2) ๋จ ํ ๊ฐ์ ์์ ์ปดํฌ๋ํธ๋ง ์ฌ ์ ์๋ค.
TouchableOpacity ๋ฅผ ์ฌ์ฉํ์ฌ Text ์ปดํฌ๋ํธ๋ฅผ Button ์ฒ๋ผ ๋์ํ๊ฒ ํ๋ ์
import react from 'react';
import {SafeAreaView, Alert, Button} from 'react-native';
import {TouchableOpacity, TouchableHighlight, Text} from 'react-native';
const onPress = () => Alert.alert('home pressed.', 'message');
export default function App() {
  return (
    <SafeAreaView>
      <Button title="home" onPress={onPress} />
      <TouchableOpacity onPress={onPress}>
        <Text>TouchableOpacity</Text>
      </TouchableOpacity>
      <TouchableHighlight onPress={onPress}>
        <Text>TouchableHighlight</Text>
      </TouchableHighlight>
    </SafeAreaView>
  );
}
โ Text ์ปดํฌ๋ํธ๋ onPress ์์ฑ์ ์ด์ฉํด์ ๋ฒํผ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค. โก๏ธ Button ๊ณผ ํฐ์ฒ๋ธ ์ปดํฌ๋ํธ์ ๋ฌ๋ฆฌ ํฐ์นํ์ ๋ ์๊ฐ ํจ๊ณผ๊ฐ ์ ํ ์์.
ex) <Text onpress={onPress}>Press Me</Text>
TextInput ์ฝ์ด ์ปดํฌ๋ํธ
import {TextInput} from 'react-native'
- ํ ์คํธ๋ฅผ ์ ๋ ฅํ๊ณ ์ ํ ๋ TextInput ์ฝ์ด ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ค.
 
ํน์ง
1) ์์ ์์๋ฅผ ๊ฐ์ง์ง ๋ชปํ๋ค.
2) ํฌ์ปค์ค๋ฅผ ๊ฐ์ง๊ฒ ํ๋ focus ๋ฉ์๋์ ํฌ์ปค์ค๋ฅผ ์๊ฒ ํ๋ blur ๋ฉ์๋๊ฐ ์๋ค.
3) ํ ์คํธ๊ฐ ์ ๋ ฅ๋ ๋ onChangeText ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์คํํ๋ค.
4) ํ ์คํธ ์ ๋ ฅ์ด ๋ชจ๋ ๋๋๋ฉด onEndEditing ์ด๋ฒคํธ๋ฅผ ํธ์ถํ๋ค.
โ onFocus, onBlur, onEndEditing ์๋ ์๋ฌด๋ฐ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ค์ ํ๋ค.
Text์ TextInput ์ ์ถ๊ฐํ App.tsx
import react from 'react';
import {SafeAreaView, Alert, Button, TextInput} from 'react-native';
import {TouchableOpacity, TouchableHighlight, Text} from 'react-native';
const onPress = () => Alert.alert('home pressed.', 'message');
export default function App() {
  return (
    <SafeAreaView>
      <Button title="home" onPress={onPress} />
      <TouchableOpacity onPress={onPress}>
        <Text>TouchableOpacity</Text>
      </TouchableOpacity>
      <TouchableHighlight onPress={onPress}>
        <Text>TouchableHighlight</Text>
      </TouchableHighlight>
      <TextInput
        placeholder="enter your name"
        onChangeText={(text: string) => console.log(text)}
        onFocus={() => console.log('onFocus')}
        onBlur={() => console.log('onBlur')}
        onEndEditing={() => console.log('onEndEditing')}
      />
    </SafeAreaView>
  );
}
'๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ์ฑ ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [React Native] 03-2 View ์ปดํฌ๋ํธ์ CSS ๋ฐ์ค ๋ชจ๋ธ (0) | 2023.08.07 | 
|---|---|
| [React Native] 03-1 style ์์ฑ๊ณผ StyleSheet API ์ดํดํ๊ธฐ (0) | 2023.08.05 | 
| [React Native] 02-3. ์ปดํฌ๋ํธ์ ์์ฑ ์ดํดํ๊ธฐ (0) | 2023.08.04 | 
| [React Native] 02. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ๊ธฐ๋ณธ ๋ค์ง๊ธฐ -1 (0) | 2023.08.02 | 
| [React Native] 01. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ๊ฐ๋ฐ ํ๊ฒฝ ๊ฐ์ถ๊ธฐ (0) | 2023.08.01 |