자바스크립트 27

[Raact-Native] 조건부 렌더링, 리액트처럼 라우터 기능 구현하기

react native로 열심히 개발을 하던 도중에 난관에 부딪혔ㄷ ㅏ 리액트에서는 페이지 라우터가 있어서 렌더링 할 때 조건부로 렌더링이 가능했는데 리액트 네이티브에서는 스택으로 쌓이는 형태라 스택을 다시 나오는 방법을 모르겠어서 (내가 못 찾은 걸 수도...) 조건부 렌더링이 쉽지 않았다! 내가 원하는 건 토스 처럼 매끄러운 화면 전환 + 하단 네비게이션 바가 고정된 채 컴포넌트들만 렌더링 되는 거! 하지만 스택으로는 새로운 페이지가 자꾸 옆에서 튀어나오고... 네비게이션 바를 가리고... 그런 상황이 발생했다 해결 방법 -> home네비게이션에서는 home.js만 두고 그 안에서 렌더링에 조건을 달아 조건부 렌더링을 하자! 조건부 렌더링 하는 방법 1. retuen 안에서 삼항 연산자 쓰기 retu..

React-Native 2024.04.11

[React] 리액트 Redux를 사용해 todo list 만들기

wanted 프론트엔드 프리온보딩 과정을 위한 사전과제 Redux를 사용해 todo list 만들기 과제 내용 : Add와 Delete 기능 2 가지를 만듭니다. input 창에 list1을 입력 후 Add 버튼을 누르면 input 창 하단에 list1 컴포넌트가 뜹니다. 각 list의 delete 버튼을 누르면 해당 list 컴포넌트가 삭제됩니다. 디자인은 자유롭게 해도 됩니다. 위의 2가지 버튼과 그에 따른 기능이 있으면 됩니다. 가능하면 컴포넌트를 만듭니다. (작은 단위라도 좋습니다.) 전역상태를 관리해주세요.(가능한 Redux나 Redux-toolkit을 이용해주세요.) 폴더 구조 /src /components /List /store App.tsx index.tsx 할 일 1. 컴포넌트 구조 미리..

React 2024.03.01

[React] 리액트 context API를 recoil로 바꾸기 / 상태 관리 도구 변경하기

이어지는글 https://5ffthewall.tistory.com/73 [React] 리액트 recoil 예제 만들어 사용해보기 이어지는 글 https://5ffthewall.tistory.com/72 [React] recoil로 전역 상태 관리하기 https://5ffthewall.tistory.com/71 [React] 리액트 context API의 리렌더링 방지를 통한 성능 최적화 하기 / useMemo 사용하기 https://5ffthewa 5ffthewall.tistory.com recoil 예제까지 만들면서 recoil에 대한 공부를 했다. 이젠 context API로 상태 관리를 했던 내 코드를 recoil로 변경해 볼 것이다. recoil을 선택한 이유 recoil은 클라이언트의 상태를 관..

React 2024.02.18

[React] 리액트 recoil 예제 만들어 사용해보기

이어지는 글 https://5ffthewall.tistory.com/72 [React] recoil로 전역 상태 관리하기 https://5ffthewall.tistory.com/71 [React] 리액트 context API의 리렌더링 방지를 통한 성능 최적화 하기 / useMemo 사용하기 https://5ffthewall.tistory.com/67 [React] 리액트 context API로 상태 관리 하기 Context API란? Context 5ffthewall.tistory.com recoil의 개념을 담은 글이다! 개념에서 더 나아가 간단한 예제를 만들어 사용법에 익숙해지고자 한다. Recoil을 사용하여 간단한 할 일 목록 애플리케이션 만들기 0. 예제 파일 생성 npm create-reac..

React 2024.02.18

[React] recoil로 전역 상태 관리하기

https://5ffthewall.tistory.com/71 [React] 리액트 context API의 리렌더링 방지를 통한 성능 최적화 하기 / useMemo 사용하기 https://5ffthewall.tistory.com/67 [React] 리액트 context API로 상태 관리 하기 Context API란? Context API는 React에서 전역적인 상태를 관리하고 컴포넌트 간에 데이터를 전달하는 데 사용되는 기능이다. 이를 통 5ffthewall.tistory.com 전 글에서 말했다 싶이 context API로 상태 관리를 했을 때 문제점에 대한 해결 방안으로 1. useMemo 사용하기 2. Dispatch provider와 Dispatch consumer 분리 가 있었다. 하지만 내부..

React 2024.02.18

[React] 리액트 context API의 리렌더링 방지를 통한 성능 최적화 하기 / useMemo 사용하기

https://5ffthewall.tistory.com/67 [React] 리액트 context API로 상태 관리 하기 Context API란? Context API는 React에서 전역적인 상태를 관리하고 컴포넌트 간에 데이터를 전달하는 데 사용되는 기능이다. 이를 통해 props 전달이 깊은 컴포넌트 트리를 통해 이루어지는 것을 피할 수 5ffthewall.tistory.com 위 글과 같이 context API로 전역 상태를 관리하는 코드를 작성한 적이 있다. 하지만 이 코드에는 문제점이 있는데 바로 Provider의 상태가 변했을때 이를 구독하고 있는 컴포넌트의 경우 일제히 리렌더링이 일어난다는 문제이다. 하위 컴포넌트의 개수가 많아지거나 프로젝트의 규모가 커지면 불필요한 리렌더링이 많아지면서 ..

React 2024.02.18

[React] 리액트 context API로 상태 관리 하기

Context API란? Context API는 React에서 전역적인 상태를 관리하고 컴포넌트 간에 데이터를 전달하는 데 사용되는 기능이다. 이를 통해 props 전달이 깊은 컴포넌트 트리를 통해 이루어지는 것을 피할 수 있다. Props Drilling Problem을 해결하기 위해 생김! 컴포넌트 트리에서 Context라는 거대한 공통 조상을 만들고 그 Context로 부터 데이터를 제공을 받는 방식이다. 별도의 Store을 가지고 있는 FLUX와 비슷한 느낌이 있어서 최근에는 복잡한 문법을 가지고 만들어야 하는 Redux보다는 React의 기본 기능인 Context API를 쓰겠다는 움직임이 생기고 있다고 한다. Context API의 핵심 개념 Context: Context는 React 컴포넌트..

React 2024.02.17

[React] 리액트 카카오톡 공유하기

https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 카카오에서는 다양한 API들을 제공한다 내가 구현할 것은 JS+리액트로 카카오톡 공유하기 기능을 구현하기! 1. 로그인 후 내 애플리케이션을 등록해준다 2. 플랫폼에는 사이트 도메인을 넣어줌, 배포 전 테스트일 때는 localhost 링크 넣어주기! 3. 구현 방법을 선택한다 API 메소드 - 공유하기 버튼도 만들 것인지 - 내가 만들어둔 버튼에 onclick만 써서 바로 보낼것인지! 메시지 구성 방법 - 기본 메시지 (카카오톡에서 템플릿 제공해..

React 2024.02.16

[React] 리액트 파일 절대경로 설정하기

절대경로를 설정하는 이유 import main from '../../Images/main/main.svg' 이런 식으로 ../을 무한 생성하게 되니까 여러 개 import할 땐 지저분하게 보일 수 있음! 절대경로를 설정해주면 import main from 'Images/main/main.svg' 이렇게 코드를 간단하게 줄일 수 있다! CRA(create-react-app)에서 절대경로 설정하는 방법 1. 최상위 루트에 jsconfig.json파일을 만든다 있는 경우에는 파일 내용을 추가해주면 됨 2. 아래 내용을 추가해준다 { "compilerOptions": { "baseUrl": "src" }, "include": ["src"], "exclude": ["node_modules"] } 3. 서버를 재실..

React 2024.02.11

리액트 콘솔이 두 번 찍힐 때

console.log를 찍었는데 이렇게 두 번씩 찍히고 출력되는 경우가 생길 수 있다... 이런 경우 index.js에서 을 감싸고 있는 를 빼준다! import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( // // ); reportWebVitals(); 이 후 콘솔을 찍어보면 정상 출력되는 것을 확인할 수 있다! 그렇다면 왜 그..

React 2024.02.03
728x90