관리 메뉴

프론트엔드 정복하기

React_lib 제공 method 모음 본문

React/라이브러리

React_lib 제공 method 모음

GROWNFRESH 2020. 5. 22. 16:44

 Redux import 

더보기

import React from 'react'

import ReactDOM from 'react-dom'

import {Provider} from 'react-redux'           : 어플리케이션과 redux를 연결시킴

import {applyMiddleware} from 'redux'      :store에 미들웨어를 적용시킴

import {createStore} from 'redux'              : 스토어 생성

import promiseMiddleware from 'redux-promise'

import {combineReducers} from 'redux'      : 여러개의 reducer를 하나로 묶음

import { useState } from 'react'                  : state 관리 hook tool을 불러옴

import { useDispatch } from 'react-redux'     : 'dispatch'를 이용해 action을 취함 (redux flow 참조)

import { withRouter } from 'react-router-dom'     : props.history.push 하기 위해 필요함

import { useSelector } from 'react-redux'     : state 정보를 가져옴

 

 .render ( <App /> , document.getElementById('root') ) 

: 괄호 안의 내용을 렌더링함

: 클래스 컴포넌트에서 반드시 구현돼야 하는 메서드

 

 <App /> 

: 컴포넌트

 

 applyMiddleware () 

: 괄호 안의 middleware를 적용시킴

: redux 메서드

 

 const rootReducer = combineReducers ({}) 

: 여러가지 Reducer를 하나로 묶어줌

: redux 메서드

 

 

 

const  dispatch  = useDispatch()

dispatch . (action명 (인자) )

 

: dispatch를 통해 action을 취함

: redux 메서드

 

import { withRouter } from 'react-router-dom'   (withRouter를 import 하고,)

export default withRouter(RegisterPage)   (withRouter로 감싼 페이지 내에서 다음 메소드를 사용할 수 있다.)

 props.history.push('/login') 

: react에서는 홈페이지를 이동할 때 위 메서드를 사용한다.

: 엔드포인트 페이지로 돌아가기

 

 props.history.replace('/') 

: replace를 push로 바꿨을 때 차이점은 처음에 실행했을 때는 알 수 없다.

하지만 버튼을 여러번 눌러본 뒤, 브라우저의 뒤로가기를 눌러보라.

replace는 버튼을 누르기 전으로 되돌아가지만, push는 이전 버튼을 누르기 전으로 돌아간다.

즉, history를 가지고 있는가 없는가의 차이다.

 

ex) 로그인 후 뒤로가기 했을 때 : push->로그인페이지, 로그인을 시도했던 item이 보임

replace -> items의 히스토리 위치가 login으로 대체됨 / 로그인페이지로 돌아감

https://medium.com/w-bs-log/history-push%EC%99%80-replace%EC%9D%98-%EC%B0%A8%EC%9D%B4-ed5f2f7db7dc

 

 

 .then ( funciton(response) ) 

 

 rfce / rcc 

:   functional components 생성 / class components 생성

 

 

 

-useSeletor Document-

 const A = useSelector( function, deps ) 

: redux STORE에 접근한다.

 

-function

  1) 단수 ex) const counter = useSelector(state => state.counter, [ ]);

  2) 복수 가져올 때 ex) const { a, b } = useSelector(state => ({ a: state.a, state.b }), [ ])

 

- deps ; array 형태

 : 어떤 값이 바뀌었을 때 selector를 재정의할 지 설정

 : deps 값을 생력하면 렌더링될 때마다 selector 함수도 새로 정의됨

 : 최적화를 신경쓴다면 다음과 같이 입력해도 됨. useSelector ( function, [ ] )

 : useEffect 끝의 [ ] 와 비슷함. 

 

참고사이트

https://velog.io/@velopert/react-redux-hooks

 

 

-useSeletor 응용-

 import { useSelector } from 'react-redux' 

 const user = useSelector( state => state.user ) 

: react-redux의 state에서 state의 user 정보를 가져옴  (redux 개발자도구의 state 탭에 있음)

 

 

 const a = Math.floor( ) 

: 소수점 이하를 '버림' 한다.

( Math.ceil : 소수점 이하 '올림' / Math.round : 소수점 이하 '반올림' ) 

: javascript

 

 

 props.match.params.videoId 

: props.match >> route 정보를 가져옴    //  .params.videoId로 [ 동적 ID ]를 가져옴

 


 localStorage.getItem(key) 

: Storage에서 key에 해당하는 값을 받아온다.

 

ex) localStorage.getItem('userId')

*** App.js에 Compo로 연결된 Page에서 getItem 할 것. (그 외 js파일은 별다른 Page가 아니므로.)

 

* 그 밖에 Storage 관련 method : setItem(key, value) / removeItem(key) / clear() / key(index) / length

https://ko.javascript.info/localstorage

 

  • setItem(key, value) – 키-값 쌍을 보관합니다.
  • getItem(key) – 키에 해당하는 값을 받아옵니다.
  • removeItem(key) – 키와 해당 값을 삭제합니다.
  • clear() – 모든 것을 삭제합니다.
  • key(index) – 인덱스(index)에 해당하는 키를 받아옵니다.
  • length – 저장된 항목의 개수를 얻습니다.

 

 push( ) 

: array.prototype 메서드

: 하나 이상의 요소를 배열의 가장 마지막에 추가한다.

: 원본 배열은 추가한 요소의 수만큼 길이(length)가 늘어나게 되며, 요소를 성공적으로 추가하면 배열의 총 길이를 반환.

 

 concat() 

: array.prototype 메서드

: 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환

 

ex)

const array1 = [ 'a' ]

const array2 = [ 'b' ]

const array3 = array1 . concat ( array2 )

 

array3 >> [ 'a', 'b' ]

'React > 라이브러리' 카테고리의 다른 글

React_ffprobe 제공 정보(ffmpeg 메소드)  (0) 2020.06.02
React_multer 제공 기능  (0) 2020.06.02
React_Redux_연결시키기  (0) 2020.05.22
React_REDUX 설명  (0) 2020.05.21
React_라이브러리 설치 및 사용법  (0) 2020.05.19