본문 바로가기

728x90
반응형

개발

(50)
[React] useEffect에 대한 고찰 평생 vue.js만 써오던 사람이라, react.js는 언제 봐도 어렵다. 간단하게 useEffect에 대해 설명하자면, 마운트될 때, 언마운트될 때, 값이 변경될 때 재실행되도록 돕는 함수라는 것이다. useEffect( ()=> { console.log(a, b, c) } )위와 같은 형태로 사용한다.이 예시에서는 a,b,c 값이 변경되거나, 마운트될 때, 언마운트될 때 useEffect 내의 콜백함수가 실행된다. useEffect(() => { console.log('count 상태가 변경될 때마다 실행됩니다.'); }, [count]);위와 같은 형태로 두번째 매개변수(배열)를 넣게 되면 매개변수값이 변경될 때에만 useEffect 내의 콜백함수가 실행된다. useEffect의 기본 동작은 모든 ..
[자바스크립트] 비동기 프로그래밍, Callback, Promise, async/await 자바스크립트 비동기 프로그래밍에는 세가지 방법이 있다. 콜백(Callback) 함수, Promise(프로미스), async/await # 콜백(Callback) 함수는 다른 함수의 인자로 전달되어 나중에 실행되는 함수이다. 주로 비동기적인 작업에서 사용된다. 1. setTumeout() 함수console.log("시작");// 3초 후에 콜백 함수가 실행됩니다.setTimeout(function() { console.log("3초가 지났습니다.");}, 3000);console.log("끝");2. 이벤트 핸들러 클릭하세요 # Promise(프로미스)는 비동기 작업의 성공 또는 실패를 나타내는 객체이다. Promise 객체는 성공 시 resolve 콜백함수를, 실패 시 reject 콜백 함수를 가진..
[CSS] fixed로 navBar 상단 고정시키기 지난 포스팅에서도 언급했듯이, absolute, fixed는 전후에 있는 요소와 상호작용을 하지 않는다. 아래 예시를 보면 알 수 있듯이 navBar가 독립해버린다. HTML 삽입 미리보기할 수 없는 소스 그래서 다음과 같이 width를 부모 요소와 맞춰줘야 한다. HTML 삽입 미리보기할 수 없는 소스
[Firebase 호스팅] 시키는대로만 하면 된다. npm install -g firebase-tools 위 명령어를 입력하면 무엇인가 설치가 된다. firebase login 파이어베이스 로그인을 한다. firebase init 프로젝트를 초기화 한다. npm run build 프로젝트 파일을 빌드한다. 아마 vue나 react를 사용한다면 dist 폴더에 빌드파일이 생성될텐데 그 파일들을 복사해서 public 폴더에 덮어 씌운다. 꼭 덮어씌워줘야 한다. 안 그럼 이런 화면이 뜨고 절망에 빠질 것이다. 아무튼 잘 따라왔다면 firebase deploy 그리고 나서 요렇게 명령어만 치면 url을 뱉어낼 것이다.
[Firebase 호스팅] Welcome만 뜰 때 호스팅 시도해보려고 npm run build까지 했는데 이렇게 뜨는 사람 있을 거임 그럴 때에는 dist로 저장된 빌드 파일들을 public으로 옮긴 다음 firebase deploy 다시 실행하면 됨.
[useRef] vue의 ref와는 다르다.. 아냐 비슷한가..? import {useRef} from 'react' const myRef = useRef(); 이런 식으로 작성할 경우 myRef.current 이 식을 사용하면 해당 myRef DOM에 접근 할 수 있다. 변경 가능한 값이면서 + 재렌더링 할 필요가 없는 data라면 useRef를 사용해도 된다. 그렇다면 의문이 들 것이다. 아니 그럼 그냥 일반 변수 선언해서 쓰는 거랑 다를 게 없지 않음? 다르다, 재렌더링이 되면 일반 변수는 초기화 된다. useRef를 활용하면 재렌더링 되어도 초기화되지 않는다.
[useState] 리액트 탐험.. useState... useState로 설정한 data를 공유하려면 부모 컴포넌트로 부터 props로 받아와야 한다. 모든 Child 컴포넌트가 같은 count 값을 공유하길 원한다면, count 상태를 Child 컴포넌트가 아닌 Parent 컴포넌트에서 관리해야 한다. 그리고 이 count와 setCount를 Child 컴포넌트에 props로 전달한다. function Parent() { const [count, setCount] = useState(0); return ; } function Child({ count, setCount }) { return ( You clicked {count} times setCount(count + 1)}> Click me ); } 같은 컴포넌트 내에서 button을 만들어 count +..
[map] JavaScript 유용한 함수 map 예를 들어 다음과 같은 배열 요소가 있다고 가정해 보자. let arr = [3, 4, 5, 6]; 이제 배열의 각 요소에 3을 곱해야 한다고 상상해 보자. 원초적인 판단으로는 다음과 같이 for 루프 사용을:할 수 있다. let arr = [3, 4, 5, 6]; for (let i = 0; i < arr.length; i++){ arr[i] = arr[i] * 3; } console.log(arr); // [9, 12, 15, 18] 그러나 사실 Array.map() 메소드를 사용한다면 이런 동일한 결과를 얻을 수 있다. let arr = [3, 4, 5, 6]; let modifiedArr = arr.map(function(element){ return element *3; }); console.l..

728x90
반응형