전체 글 (62) 썸네일형 리스트형 230307 변수를 변경할 수 없게하려면 var이 아닌 final로 변수를 만들어주면 된다. final name = 'name' late는 초기 데이터 없이 변수를 선언할 수 있게 해준다. var이나 final 앞에 써줄 수 있다. late final String name; late var String name; 나중에 변수에 값을 넣어준다고 해서 late인 것 같다. late final을 쓰면 변수에 값을 넣어준 후 변경할 수 없다. dart에서의 const는 compile time constant를 만들어준다. const는 컴파일 시점에 바뀌지않는 값을 넣어주어야 한다. (상수) final이나 var은 컴파일 시점에 바뀌는 값을 넣어주어야 한다.(API값이나 사용자가 입력하는 값) const name = `tom.. 230303 dart는 반드시 main method가 있어야 한다. dart는 세미콜론을 대신 쳐주는 기능이 없는데 세미콜론을 썼다 안썼다하는 cascade operator라는 문법이 중요한 역할을 하기 때문이라고 한다. 1. var 키워드를 이용한 변수 선언 var 변수_이름 = 저장할_값; 함수, 메소드 안의 지역 변수 선언에 사용된다. 2. 변수 타입 지정을 이용한 변수 선언 변수_타입 변수_이름 = 저장할_값; 클래스 안의 변수, 프로퍼티 선언에 사용된다. 1. 2.의 방법 모두 동일한 타입의 값에 대해 변수의 변경이 가능하다. 1.이 가능한 이유는 변수의 타입을 직접적으로 명시하지 않아도 컴파일러가 변수의 타입을 추론하기 때문이다. 데이터의 타입에 맞춰서 업데이트 하는 것이 중요하다 dart에서는 dynam.. 230228 /12/3/4/5/6 같이 여러 path가 있는 url을 만들어주고 싶다면 [...params].js 처럼 앞에 ...을 붙여주면된다. 그리고 url에 정보를 담아서 보내기 위해 query를 없애고 url에 title과 id를 추가해준 후 /movies/id로 마스킹 해주었다. const onClick = (id, title) => { router.push( `/movies/${title}/${id}`, `/movies/${title}` ); }; return ( {results?.map((movie) => ( onClick(movie.id, movie.original_title)} className="movie" key={movie.id} > {movie.original_title} ))} 그 후 [... 230224 url에서 pathname 과 query를 설정해주면 url이 안이쁘고 필요없는 정보를 가지게 된다. router.push({ pathname: `/movies/${id}`, query: { id, }, }); http://localhost:3000/movies/505642?id=505642 이럴 때 쓸 수 있는 기능이 as 이다 as는 url을 마스킹 해준다. router.push( { pathname: `/movies/${id}`, query: { id, }, }, `/movies/${id}` ); http://localhost:3000/movies/505642 이렇게 두번째 요소로 보여주고 싶은 url을 넣어주면 된다. 그리고 query에 넣어준 요소들은 router -> query에서 확인이 가능.. 230222 NextJS에서는 폴더명으로 url을 할당해준다. 이를 maping이라고 한다. /movies 주소를 만들고 싶으면 movies 폴더에 index.js 파일을 만들어주면 된다. /movies/:id 페이지를 만들어주고 싶으면 movies 폴더에 [id].js를 만들어주면 된다. const onClick = (id) => { router.push(`/movies/${id}`); }; 이런 형식으로 onClick을 만들어주면 id에 따라 다른 페이지를 보여줄 수 있다. rewrites에도 변수를 넣어주어야 한다. { source: "/api/movies/:id", destination: `https://api.themoviedb.org/3/movie/:id?api_key=${API_KEY}`, }, sour.. 230221 nextJS에서는 redirect 와 rewrites를 지원한다. next.config.js에서 async redirects() { return [ { source: "/contact", destination: "/form", permanent: false, }, ]; }, 를 추가해주면 /contact에 가면 /form으로 연결해준다. 대신 이 방법은 url의 변화를 유저가 알 수 있다. /contact:path, /form:path처럼 뒤에 :path를 추가해주면 뒤의 문자를 가져와서 redirect 해줄 수 있다. /contach/12345 -> /form:12345 /contact:path*, /form:path*처럼 뒤에 *를 추가해주면 모든 url을 가져와서 redirect해준다. /conta.. 230216 Home about style 태그에 jsx를 추가해주면 다음과 같이 스타일을 적용시킬 수 있다. 그러나 style과 component들을 계속 복붙해주어야하는 것이 귀찮다. 이런 것들은 NextJS에서는 _app.js 파일을 만들어서 해결해 줄 수 있다. (꼭 pages 안에 파일을 만들어주어야한다.) 이 파일은 제일 먼저 읽힌다. _app.js에 import NavBar from "../components/NavBar"; export default function App({ Component, pageProps }) { return ( ); } 를 추가해주며 그 페이지의 component가 App 함수에 들어가게되어 페이지를 띄워준다. 즉 모든 페이지는 밑에 렌더링되는 것이다. 그리고 css를 받아오.. 크롬 url 자동완성 삭제하기 1. 구글 계정 관리로 들어간다 2. 데이터 및 개인 정보 보호의 구글 검색의 개인 검색결과로 들어가서 사용해제로 바꿔준다. 3. ...을 누르고 설정으로 들어간다. 4. 개인 정보 보호 및 보안에서 인터넷 사용기록을 삭제해준다. 그러면 이렇게 뜨던 검색창이 아무것도 뜨지 않는다. 이전 1 2 3 4 ··· 8 다음