728x90

분류 전체보기 71

[ReactNative] 전역 상태 관리, Context API, useContext | 처음 배우는 리액트네이티브 7장

전역 상태 관리  일반적인 데이터 흐름 : 부모 → 자식 컴포넌트데이터 사용하는 컴포넌트가 많을 시 : 최상위 App 컴포넌트 (상태 관리 - props) → 하위 컴포넌트 그러나 props를 이용해 데이터를 전달하는 것은 번거롭다. 필요한 하위 컴포넌트에 도달하기까지 단계를 많이 거쳐야함부모로부터 받은 데이터는 변경할 수 없으므로 다시 역순으로 변경 요청해야함관리하는 상태 추가, 변경될 시 모든 컴포넌트를 찾아 수정해야함 위와 같은 단점이 존재하기 때문에 최상위 컴포넌트에서 전역 상태를 관리하는 것은 불편하다.  따라서중간 과정을 거치지 않고 한번에 원하는 데이터를 받아와 사용하기 위해Context API를 이용할 수 있다.   Context API  createContext 함수 : Context 생..

공부/ReactNative 2025.01.23

[ReactNative] useMemo, 커스텀 Hooks | 처음 배우는 리액트네이티브 6-4장, 6-5장

useMemo  동일한 연산 반복 수행 제거 => 성능 최적화첫번째 파라미터 = 함수두번째 파라미터 = 함수 실행 조건 => 배열로 전달 JavaScript, Expo, React Native로 배열을 설정하고 버튼을 클릭할 때마다 배열을 순환하며 문자열 길이를 구해보겠다. 그 결과,버튼 클릭 시 문자열 길이를 구했으며마지막 문자열 이후에는 더이상 변화가 없기에 길이를 반복해서 구하는 것을 확인했다. import React, { useState } from 'react';import styled from 'styled-components/native';import Button from './Button';const StyledText = styled.Text` font-size: 24px; `;con..

공부/ReactNative 2025.01.22

[ReactNative] useState, useEffect, useRef | 처음 배우는 리액트네이티브 6-1장, 6-2장, 6-3장

useState  변수와 그 변수를 수정할 수 있는 세터 함수를 배열로 반환관리할 상태 수만큼 여러번 사용 가능값 변경은 반드시 세터함수 사용 1. 세터 함수1️⃣ 세터함수에 변경될 상태 값 전달하는 방법 const [count, setCount] = useState(0); { setCount(count + 1); }}/>  2️⃣ 세터 함수의 파라미터에 함수 전달하는 방법 파라미터 함수에 변경 전 상태 값을 전달하고 변경 방법을 정의한다. 세터 함수는 비동기로 동작하기 때문에 호출해도 상태가 바로 변경되지 않는다는 점이 문제이다.따라서 업데이트가 동시에 여러개 발생할 경우,세터 함수에 함수를 파라미터로 전달해 이전 상태값을 사용하면 문제를 해결할 수 있다.  { setCount(prev..

공부/ReactNative 2025.01.22

[ReactNative] To-Do-List 애플리케이션 | 처음 배우는 리액트네이티브 5장

To-Do-List 만들기  등록 : 할 일항목을 추가하는기능수정 : 완료되지 않은 할 일 항목을 수정하는 기능삭제 : 할 일항목을 삭제하는기능완료 : 할 일 항목의 완료 상태를 관리하는 기능 프로젝트를 진행하기 앞서 styled-components/native를 사용하는 데 있어 아래와 같은 오류가 발해서 추가로 패키지를 설치해주었다.Could not find a declaration file for module 'styled-components/native'. npm install --save-dev @types/styled-components-react-native  1. SafeAreaView 컴포넌트: 외부 요인에 의해 컴포넌트 일부가 가려지는 것을 방지하기 위해 사용: 자동으로 padding ..

공부/ReactNative 2025.01.22

[ReactNative] 스타일 | 처음 배우는 리액트네이티브 4장

스타일링  1. 인라인 스타일링: 컴포넌트에 직접 스타일 입력하는 방식: 객체 형태로 전달 (HTML 과의 차이점)  직접 인라인 스타일링으로 텍스트 스타일을 조정해보겠다.첫번째 텍스트에는 글자 색을 black으로 굵기도 600으로 설정했고,두번째 텍스트에는 글자 색을 red, 굵기는 400으로 설정한 결과 각각의 텍스트에 서로 다른 스타일이 적용된 것을 확인할 수 있었다.  이와 같이 인라인 스타일링은어떤 스타일링이 적용되는지 직관적으로 잘 보인다는 장점이 있다. import React from 'react'import { View, Text } from 'react-native'const InlineStyle = () => { return ( Inline Sty..

공부/ReactNative 2025.01.21

[ReactNative] props, state, event | 처음 배우는 리액트네이티브 3-3장, 3-4장

props  1. props 부모 컴포넌트로부터 전달된 속성값, 상속받은 속성값자식 컴포넌트에서는 props 변경 불가능 -> 변경은 부모 컴포넌트에서  자식 컴포넌트에서는 부모 컴포넌트에서 전달된 props를 함수의 파라미터로 받아서 사용한다.이전 3-2장에서 커스텀 컴포넌트인 MyButton 컴포넌트에 title 속성을 부모 컴포넌트인 App.js에서 props로 전달해 설정해보겠다.  App.js에서 title에 My Button 글자를 전달하고,MyButton 컴포넌트의 함수에 파라미터로 props를 전달받아 버튼 title을 설정했다. export default function App() { return ( My Button Component );}impor..

공부/ReactNative 2025.01.16

[ReactNative] 컴포넌트 | 처음 배우는 리액트네이티브 3-2장

컴포넌트  1. 컴포넌트 재사용 가능한 조립 블록 요소로 부모로부터 받은 props나 state에 따라 다양한 기능을 수행한다.  1️⃣ 내장 컴포넌트 View, Text, Button 등 다양한 내장 컴포넌트가 존재한다.내장 컴포넌트는 아래 사이트에서도 확인 가능하다. https://reactnative.dev/docs/components-and-apis Core Components and APIs · React NativeReact Native provides a number of built-in Core Components ready for you to use in your app. You can find them all in the left sidebar (or menu above, if you ..

공부/ReactNative 2025.01.15

[ReactNative] JSX | 처음 배우는 리액트네이티브 3-1장

시작하며  3장 실습을 시작하기 위해 먼저 프로젝트를 생성해주겠다. 아래의 코드로 Expo 환경의 프로젝트를 생성해주었다.+ 생성 과정 중 expo -g cli가 node 환경과 맞지 않아 ExpoProject 폴더를 새로 생성한 후 로컬로 expo를 설치해주었다. + 에러가 났던 코드WARNING: The legacy expo-cli does not support Node +17. Migrate to the new local Expo CLI: npm i exponpx create-expo-app 프로젝트 이름 --template blank //js 환경의 expo 프로젝트 생성  + 노트북 web 환경에서 Expo 프로젝트 화면을 열기 위해 추가로 라이브러리를 설치해주었다.터미널에서 프로젝트를 실행한 ..

공부/ReactNative 2025.01.15

[포스코 x 코딩온] 웹개발자 풀스택 과정 12기 일본 여행 회고

12기 POSCO x Codingon 웹 풀스택 과정에는 수료 혜택이 존재하는 데 그것은 바로바로 일본 여행이었다...!!!처음부터 기대하고 고대하던 일본 여행⭐⭐  첫 해외여행이었기 때문에 여권 발급부터 스타트⚡여권 사진 기준이 엄격해서 사진때문에 구청을 3번이나 왔다갔다 했다는 건 안비밀....힘들었다.... 겨우겨우 사진이 통과되고 드디어 받은 여권..!! 이제야 내가 해외여행을 간다는 게 실감이 됐다ㅋㅋㅋㅋㅋㅋ   일본 여행이 계획된 후부터 친구와 어떤 걸 할지 계속해서 이야기를 나눴지만...아는 게 없다보니 사실 숙소 예약, 지역 선택 정도만 하고 나머지는 정말 그냥 가서 돌아다녀 보자 하는 마음으로 계획했다...... 원래 여행 스타일은 매우 계획적이고 시간까지 정해놓고 가는 성격이지만..왜인..

[멋사12기] 챌린지로 시작하는 헌 옷 리사이클링 방법 공유 서비스 (REBORN) | 여기톤(HERETHON)

REBORN  멋쟁이 사자처럼 동아리 여대 연합으로 진행된 해커톤인 여기톤에서 모두 다른 학교의 새로운 팀원들을 만나 개발을 진행하게 되었다. 프론트엔드 역할을 맡았으며,해커톤 조건인 HTML, CSS, JavaScript만을 이용해 개발을 진행했다.  백엔드에서 Django를 사용했기 때문에 템플릿이 존재하는 폴더 경로가 중요했고,페이지 연결과 기능 연결은 대부분 장고 언어로 진행할 수 있었다. 여기톤을 진행하면서 가장 신경을 썼던 부분은피그마 디자인으로 요구된 화면 크기와 비율, 폰트 등 모든 요소의 세부적인 디테일이었다.  너무 감사하게도 기획/디자인을 맡은 팀원분이 꼼꼼하게 개발 화면에 대한 피드백을 주셨고,여백, 폰트 두께 등 디테일함을 놓치지 않고 작업을 이어나갈 수 있었다.  개발을 진행하다..

728x90