목록자바스크립트 (26)
바르고 뜨겁게
ReactNative - 화면이동 버튼 TouchableOpacityTouchableOpacity을 사용해서 버튼을 만들고, 클릭시 Detail로 이동시킨다. Movies.js import React from "react"; import { Text, TouchableOpacity } from "react-native"; // 모든 화면은 navigation Prop를 가지고 있다. // navigate 이동시 경로를 적지 않아도 자동으로 찾아준다 // (App.js에서 선언된 MainNavigation에 있음) export default ({ navigation }) => Movies navigation.navigate('Detail')}> Go to detail -navigation/MainNav..
ReactNative - Tab Navigation App.js export default class App extends React.Component { render() { } }-navigation/TabNavigation.js import React from "react"; import { Platform } from "react-native"; import { createBottomTabNavigator, createAppContainer } from "react-navigation"; import MoviesScreen from "../screens/Movies"; import TVScreen from "../screens/TV"; import SearchScreen from "../scre..
props 는 부모 컴포넌트가 자식 컴포넌트에게 주는 값입니다. 자식 컴포넌트에서는 props 를 받아오기만하고, 받아온 props 를 직접 수정 할 수 는 없습니다.state는 컴포넌트 내부에서 선언하며 내부에서 값을 변경 할 수 있습니다. React Js - Container Presenter Pattern리엑트 컴포넌트 코딩 패턴index.js 에서 Container.js Import Container.jsprop, state 를 통해 받은 데이터를 Presenter.js로 리턴한다.Presenter.js 넘겨 받은 데이터를 출력 한다폴더 구조 사용Home/index.js import HomeContainer from "./HomeContainer"; export default HomeConta..
React Js - Rest API 사용 (Axios)baseURL, headers, timeout 등의 구성 정보를 저장해놓고 사용할 수 있다 설치 yarn add axios사용 import axios from "axios"; const api = axios.create({ baseURL: 'https://api.themoviedb.org/3/', params:{ "api_key": "a4ebc08ace962cf8fe0ad4045337382d", "language": "en-US", } }); // '/' 빼고 넣어야됨, '/' 입력시 절대경로로 인식해서 baseURL에 덮어씌워짐 api.get("tv/popular"); export default api; 출처 : https://academ..
React Js - [SC] 동적인 UI 처리하기 props, withRouter props태그 내에 변수를 넣고 styled에서 받아서 동적인 처리가 가능하다Item이란 태그 내에 current라는 변수를 넣고 styled에서 받아서 동적으로 처리하고 있다. withRouter다른 컴포넌트를 감싸는 컴포넌트로 Router에 정보 전달이 가능하다url path 정보 등 유용한 정보들을 얻을 수 있다. export default withRouter( props => ( {console.log(props)} ) ); import import { Link, withRouter } from "react-router-dom"; 사용{ location: { pathname } } : props 파라미터에서 path..
React Js - Global CSS 설정 + styled resetcss 초기화를 위해 styled-reset 설치styled-components는 local로 동작하기 때문에 global 한 css 를 만들기 위해 GlobalStyles.js 생성설치 yarn add styled-reset사용Components/GlobalStyles.js import { createGlobalStyle } from "styled-components"; import reset from "styled-reset"; const globalStyles = createGlobalStyle` ${reset}; a{ text-decoration:none; color:inherit; } *{ box-sizing:boerder..
React Js - styled components따로 css 파일을 만들지 않고 자바스크립트 안에서 css 사용이 가능함벡틱을 이용하여 css를 변수화 시켜서 태그로 사용함css를 컴포넌트안에서만(local) 사용이 가능함단, 익스에선 정상적으로 작동하지 않음설치 yarn add styled-componentslocal 사용Header.js import React from "react"; import styled from "styled-components"; // 자바스크립트 방식의 페이지이동 (href 대신 to 사용) import { Link } from "react-router-dom"; const List = styled.ul` display:flex; &:hover{ background..
React Js - CSS 모듈App.js 에서는 컴포넌트 폴더만 import를 해준다.컴포넌트 폴더내의 index에 의해 추가 경로는 적을 필요가 없다.Components/Header/index.js import Header from "./Header"; export default Header;하나의 컴포넌트는 다른 컴포넌트에 영향을 미치지 않도록 한다 ( Header.css 가 TV.js 에 영향을 주지 않음)CSS 모듈 사용className을 지역화 해서 전역에 영향을 끼치지 않도록 한다.파일의 이름뒤에 .module 추가한다. ex - Header.module.csscss를 사용할 js에선 다음과 같은 방식으로 import 한다. import styles from "./Header.module..
React Js - Router Routerurl 주소로 페이지를 연결해주는 역활을 한다.설치 npm install --save react-router-dom사용Router.js import Home from "Routes/Home"; import TV from "Routes/TV"; import Search from "Routes/Search"; // BrowserRouter import { HashRouter as Router, Route } from "react-router-dom"; export default () => ( );Composition 두개이상의 라우터를 동시에 렌더링 하는 방식 (같은 페이지에 렌더링됨) Popular} /> Redirect페이지 이동 처리설치react-rou..
React - 리액트란? 페이스북에서 공개한 자바스크립트 UI 라이브러리.컴포넌트 단위의 개발이 가능하다.프레임워크가 아닌 라이브러리이기 때문에 다른 환경과 함께 사용이 가능하다. 가상 DOM 사용DOM(Doucument Object Model)은 정적인 UI이기 때문에 자바스크립트로 동적인 수정을 하면 페이지를 다시 그리는 과정에서 많은 시간이 들어간다. React는 가상 DOM을 사용해 변경된 부분만 처리하므로 빠른 처리가 가능하다. 단방향 데이터 흐름 지향.리액트는 기본적으로는 부모>자식 으로 단방향 데이터를 지향하지만 redux등 서브파티 라이브러리를 사용하면 유동성있는 데이터 처리가 가능하다. JSX 사용 권장XML 사용이 가능한 자바스크립트 확장문법. 어플리케이션의 처리 속도가 빠름 리액트 J..