728x90
반응형
@ List
* 2.8 카운터 만들기
** 2.8.1 UI 준비하기
** 2.8.2 Counter 컴포넌트에 Props 설정하기
** 2.8.3 App에서 상태 관리하기
* 2.9 정리
@ Result
#App.js
import React, { useState } from "react";
import { SafeAreaView, Button, StyleSheet } from "react-native";
import Counter from "./components/Counter";
const App = () => {
const [count, setCount] = useState(0);
const onIncrease = () => setCount(count + 1);
const onDecrease = () => setCount(count - 1);
return (
<SafeAreaView style={styles.full}>
<Counter count={count} onIncrease={onIncrease} onDecrease={onDecrease} />
</SafeAreaView>
);
};
export default App;
const styles = StyleSheet.create({
full: { flex: 1 },
});
# components > Counter.js
import React from "react";
import { View, Text, StyleSheet, Button } from "react-native";
function Counter({ count, onIncrease, onDecrease }) {
return (
<View style={styles.wrapper}>
<View style={styles.numberArea}>
<Text style={styles.number}>{count}</Text>
</View>
<Button title="+1" onPress={onIncrease} />
<Button title="-1" onPress={onDecrease} />
</View>
);
}
export default Counter;
const styles = StyleSheet.create({
wrapper: {
flex: 1,
},
numberArea: {
flex: 1,
alignItems: "center",
justifyContent: "center",
},
number: {
fontSize: 72,
fontWeight: "bold",
},
});
728x90
반응형
'React Native > React Native_study' 카테고리의 다른 글
[리액트 네이티브를 다루는 기술 #4] 3장 할일 목록 만들기1 (p.133 ~ 160) (1) | 2021.12.22 |
---|---|
[리액트 네이티브를 다루는 기술 #3] 3장 할일 목록 만들기1 (p.109 ~ 132) (0) | 2021.12.20 |
[리액트 네이티브를 다루는 기술 #1] 2장 컴포넌트 (p. 70 ~ 98) (0) | 2021.12.20 |
[React Native] #9 FlatList 로 데이터 나타내기 (0) | 2021.06.17 |
[React Native] #8 Open API를 활용한 날씨 데이터 가져오기 (0) | 2021.06.16 |