묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Unexpected default export of anonymous function
아래와 같은 경고가 나타나서 질문드립니다. 선생님의 수업을 그대로 따라가고, 코드에도 오타가 없어 보이는데, React Hook를 활용하게 되면서 anonymous function을 쓰지 못해서, return또한 불가능해지고, 이것이 Auth & user_reducer.js에서 모두 나타나는 거 같은데, 무엇이 문제인지 도통모르겠습니다. 대부분의 것을 본인이 찾아서 해결해야하는 것이 개발자 강호의 도리인줄 알지만, 찾아도 답이 나오지 않아 질문 드립니다. 항상 감사드립니다. Compiled with warnings. [1] [1] src/_reducers/user_reducer.js [1] Line 7:1: Unexpected default export of anonymous function import/no-anonymous-default-export [1] Line 12:13: Unreachable code no-unreachable [1] Line 15:13: Unreachable code no-unreachable [1] Line 18:13: Unreachable code no-unreachable [1] [1] src/hoc/auth.js [1] Line 6:1: Unexpected default export of anonymous function import/no-anonymous-default-export [1] Line 33:12: React Hook useEffect has missing dependencies: 'dispatch' and 'props.history'. Either include them or remove the dependency array react-hooks/exhaustive-deps 혹시 몰라 깃허브 링크도 첨부드립니다. (https://github.com/jihyeonmun/Nodejs/tree/master/BoilerPlate/Code) P.s. 이 질문을 보시는 학생분들에게, 혹시나 도움이 되실까 싶어 마크다운 필기본도 공유드립니다. 설정 및 설치(https://github.com/jihyeonmun/Nodejs/tree/master/BoilerPlate/DownloadSetting) 세부 기능(https://github.com/jihyeonmun/Nodejs/tree/master/BoilerPlate/Functions) 리액트 부분(https://github.com/jihyeonmun/Nodejs/tree/master/BoilerPlate/React)
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
boilerplate 다운로드 및 npm install 시 에러
아직 root 폴더에서 npm install 하는 단계입니다. 에러를 구글링하다보니 windows-build-tools 를 설치해야한다고해서, 관리자권한으로 powershell 실행해서 잘 설치했는데 해결되지 않아서요..ㅠㅠ 어떻게 해야할지 알려주실 수 있을까요? ++ 에러메시지 아래 추천으로 npm config set python 을 실행해봤지만 해결되지 않았습니다. node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.8/bcrypt_lib-v3.0.8-node-v83-win32-x64-unknown.tar.gz node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.8 and node@14.16.0 (node-v83 ABI, unknown) (falling back to source compile with node-gyp) gyp ERR! find Python gyp ERR! find Python Python is not set from command line or npm configuration gyp ERR! find Python Python is not set from environment variable PYTHON gyp ERR! find Python checking if "python" can be used gyp ERR! find Python - "python" is not in PATH or produced an error gyp ERR! find Python checking if "python2" can be used gyp ERR! find Python - "python2" is not in PATH or produced an error gyp ERR! find Python checking if "python3" can be used gyp ERR! find Python - "python3" is not in PATH or produced an error gyp ERR! find Python checking if the py launcher can be used to find Python 2 gyp ERR! find Python - "py.exe" is not in PATH or produced an error gyp ERR! find Python checking if Python is C:\Python27\python.exe gyp ERR! find Python - "C:\Python27\python.exe" could not be run gyp ERR! find Python checking if Python is C:\Python37\python.exe gyp ERR! find Python - "C:\Python37\python.exe" could not be run gyp ERR! find Python gyp ERR! find Python ********************************************************** gyp ERR! find Python You need to install the latest version of Python. gyp ERR! find Python Node-gyp should be able to find and use Python. If not, gyp ERR! find Python you can try one of the following options: gyp ERR! find Python - Use the switch --python="C:\Path\To\python.exe" gyp ERR! find Python (accepted by both node-gyp and npm) gyp ERR! find Python - Set the environment variable PYTHON gyp ERR! find Python - Set the npm configuration variable python: gyp ERR! find Python npm config set python "C:\Path\To\python.exe" gyp ERR! find Python For more information consult the documentation at: gyp ERR! find Python https://github.com/nodejs/node-gyp#installation gyp ERR! find Python ********************************************************** gyp ERR! find Python gyp ERR! configure error gyp ERR! stack Error: Could not find any Python installation to use gyp ERR! stack at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47) gyp ERR! stack at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21) gyp ERR! stack at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16) gyp ERR! stack at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16) gyp ERR! stack at exithandler (child_process.js:315:5) gyp ERR! stack at ChildProcess.errorhandler (child_process.js:327:5) gyp ERR! stack at ChildProcess.emit (events.js:315:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! stack at onErrorNT (internal/child_process.js:465:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:80:21) gyp ERR! System Windows_NT 10.0.19042 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\김하영\\STUDY\\react\\react_study_2\\boilerplate-mern-stack-master\\node_modules\\bcrypt\\lib\\binding\\bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=C:\\김하영\\STUDY\\react\\react_study_2\\boilerplate-mern-stack-master\\node_modules\\bcrypt\\lib\\binding" "--napi_version=7" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83" gyp ERR! cwd C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt gyp ERR! node -v v14.16.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding\bcrypt_lib.node --module_name=bcrypt_lib --module_path=C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\node-pre-gyp\lib\util\compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:315:20) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1048:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5) node-pre-gyp ERR! System Windows_NT 10.0.19042 node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\김하영\\STUDY\\react\\react_study_2\\boilerplate-mern-stack-master\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt node-pre-gyp ERR! node -v v14.16.0 node-pre-gyp ERR! node-pre-gyp -v v0.14.0 node-pre-gyp ERR! not ok Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding\bcrypt_lib.node --module_name=bcrypt_lib --module_path=C:\김하 영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) npm WARN react-redux@5.1.2 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself. npm WARN react-redux@5.1.2 requires a peer of redux@^2.0.0 || ^3.0.0 || ^4.0.0-0 but none is installed. You must install peer dependencies yourself. npm WARN react-boiler-plate@1.0.0 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.12 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.12: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bcrypt@3.0.8 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bcrypt@3.0.8 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\jerem\AppData\Roaming\npm-cache\_logs\2021-04-26T00_37_15_758Z-debug.log
-
미해결Slack 클론 코딩[실시간 채팅 with React]
dedupingInterval에 관련해서 질문드립니다!
제가 이 강의를 듣고 이해한게 맞는지 궁금해서 질문올립니다! dedupingInterval을 사용하지 않으면 swr이 재요청 하는 기준이 다른 텝을 갔다가 오는 경우 재요청을 보내게 되고 dedupingInterval 옵션을 추가하게 되면 그 시간안에는 탭을 갔다와도 재요청을 보내지 않고 캐시해서 그대로 데이터를 사용하다가 그 시간이 끝나면 다시 재요청을 보내는 것이 맞는지 궁금합니다!
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
application 에러가 발생하는 이유가 뭘까요...
heroku에 서버 배포한 후 링크에 접속하면 application error라는 화면과 함께 heroku logs --tail라는 명령어를 사용해 에러내역을 확인할 수 있다는 설명이 나오는데요 명령어를 치면 아래와 같은 에러 로그가 나옵니다.. at=error code=H10 desc="App crashed" method=GET path="/" 여기저기 찾아보면서 package.json scripts에 heroku-postbuild 추가하기 package.json engine에 node와 npm 버전을 입력하기 heroku 빌드팩 변경하기 heroku restart하기 procfile 생성하여 web:node index.js 입력하기 이외에도 여러 방법을 다 시도해봐도 해결이 안되네요...
-
미해결Slack 클론 코딩[실시간 채팅 with React]
Login에서 mutate 대신 revalidate를 써야 하네요.
저번에 mutate를 이용해서 서버에서 가져오는 데이터를 바로 data에 집어 넣는 식으로 했었는데, 그걸 유지했더니 리다이렉트 할때 에러가 나는 군요. .then((response) => { mutate(response.data) }) 리다이렉트를 할 때 워크스페이스 페이지가 열림과 동시에 user를 가져와야 에러가 안 생기는데, mutate를 쓰면 워크스페이스 페이지가 열릴 때 서버에 요청을 안보내네요... 그래서 실습 코드 뒤져보다가 revalidate를 쓴 걸 보고 revalidate를 쓰도록 코드를 수정했더니 workspace 들어가자마자 user 요청을 보내네요. 아직 알쏭달쏭 합니다. swr은 로컬 스토리지를 쓸때 디버깅을 하기가 어려운 것 같아요.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
504 에러 발생
Failed to load resource: the server responded with a status of 504 (Gateway Timeout) Uncaught (in promise) Error: Request failed with status code 504 이 2개의 콘솔 에러가 발생합니다 어떻게 해결해야 하나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
reducer action HYDRATE
안녕하세요 강의중에 HYDRATE 설정 후 defalut: return state; 로 오류 해결 안내주신 후에 HYDRATE에 대한 설명이 없어서 HYDRATE 가 어떤 것이고 왜 사용되는지 알 수 있을까요?
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
코드 오류
안녕하세요 선생님.. 밑에 사진을 보면 알 수 있겠지만 선생님이 이 전 강의에서 예시로 작성하신 코드에다가 <Script ~~ /> 이 태그를 복습 겸해서 다시 사용해볼려고 했는데 사진처럼 Script로 다른 Aleart("~");이 있는 JS파일을 불러와서 저장하고 브라우저에서 봤는데 아무것도 안뜨고 하얀 화면 밖에 없는데 코드에 무슨 오류가 있길래 실행이 안되는 거에요ㅜㅜ?
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기
credential 관련 문제
혹시 ㅅ해결하신 분들어떻게 ㅎㅏ셨을까요??? 포스트맨 에서는 게속 sending request 중이고요.. PS C:\Users\dbsgh\chatbot-app-master\chatbot-app-master> set GOOGLE_APPLICATION_CREDENTIALS=Users\dbsgh\chatbot-app-master\chat-app-test-iipa-6dc37356f180.json PS C:\Users\dbsgh\chatbot-app-master\chatbot-app-master> npm run start > chatbot-app@1.0.0 start C:\Users\dbsgh\chatbot-app-master\chatbot-app-master > node index.js Server Running at 5000 (node:17964) UnhandledPromiseRejectionWarning: Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information. at GoogleAuth.<anonymous> (C:\Users\dbsgh\chatbot-app-master\chatbot-app-master\node_modules\google-auth-library\build\src\auth\googleauth.js:167:23) at Generator.next (<anonymous>) at fulfilled (C:\Users\dbsgh\chatbot-app-master\chatbot-app-master\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58) at process._tickCallback (internal/process/next_tick.js:68:7) (node:17964) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:17964) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
TEST 폴더는 뭐죠?
grab-market-web 폴더에서 TEST로 바뀌었는데 TEST폴더로 시작하나요? npm install 다시 해야 하나요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
안녕하세요. 프론트엔드 세팅하기 챕터 질문입니다.
안녕하세요 zerocho님. 이번 강의에서 [프론트엔드 세팅하기] 챕터 관련해서 질문드립니다. 강의 후반부에서 babel이 image, css 파일 등을 js파일로 변환한다고 하셨는데 그게 아니라 webpack의 loader(style-loader, file-loader) 가 js파일로 번들링 해주는거 아닌가요? 혹시 제가 모르는 부분이 있나해서 이렇게 문의드립니다. 혹시 참고할만한 문서가 있다면 같이 주시면 도움 될 것 같습니다:) 감사합니다.
-
미해결Redux vs MobX (둘 다 배우자!)
reaction 중첩 실행 문제
이렇게 사용하고있습니다. user_email이 변경되는 과정에서 console.log(value) 이게 onChange가 일어날 때마다 한 번씩만 실행되어야하는데 예를들어 'asdf'를 입력한다고 가정할 때 log에는 아래와 같이 찍힙니다. LOG => a LOG => as LOG => as LOG => asd LOG => asd LOG => asd LOG => asdf LOG => asdf LOG => asdf LOG => asdf 이렇게 점차 1개씩 스택이 쌓이듯 중첩되어 실행이되는데 제가 이상한건지 mobx가 이상한건지 감이 안 잡힙니다.. react-native 환경에서 사용하려합니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
라우트 파라미터와 useParams관련 질문드립니다.
const { workspace } = useParams<{ workspace: string }>(); console.log('workspace param name1 : ', workspace); workspace의 값이 계속 undefiend로 출력되고 있습니다. 현재 URL주소는 다음과 같습니다. http://localhost:3090/workspace/sleact/channel/일반 /App/index.tsx 파일에서도 /workspace/:workspace 로 해놓은 상황입니다. import React from 'react'; import loadable from '@loadable/component'; import { Switch, Route, Redirect } from 'react-router-dom'; const LogIn = loadable(() => import('@pages/LogIn')); // 코드 스플리팅 const SignUp = loadable(() => import('@pages/SignUp')); const Workspace = loadable(() => import('@layouts/Workspace')); const App = () => { return ( <Switch> <Redirect exact path="/" to="/login" /> <Route path="/login" component={LogIn} /> <Route path="/signup" component={SignUp} /> <Route path="/workspace/:workspcae" component={Workspace}/> </Switch> ); }; export default App; 의심가는 부분들은 어느정도 다 봤다고 생각하는데요. params가 undefined된 값을 출력하네요. import { Redirect } from 'react-router'; import { Link,Switch, Route, useParams } from 'react-router-dom'; 혹시 import가 문제가 있나 싶어서 useParams를 react-router와 react-router-dom 각각 불러왔는데도 마찬가지입니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
이번강좌에선 next 안쓰신 이유가 궁금합니다
next의 장점중 하나가 코드스플리팅을 자동으로 해주는 거라고 알고있는데 react를 쓰신이유는 프로젝트 취지가 ssr 할 필요가 없어서 인가요?? 그리고 궁금한게 cna로 프로젝트 세팅을할때 ssr할 목적없이 코드스플리팅과 폴더구조를 잡아준다는 이유로 쓰기엔 비효율적인가요? next를 사용하면 꼭 ssr을 사용해야되는지 궁금합니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
setImage 를 사용했을 때, state에 바로 적용이 안되는 이유는 무엇인가요?
안녕하세요. 쉽고 유익한 강의 감사합니다. 강의를 듣다가 궁금한 점이 있어서 질문드립니다. <br /> FileUpload.js에서 setImage 를 사용하여 이미지 state에 이미지를 추가 하였을 때, state에 바로 적용이 안되는 이유가 궁금합니다. <br /> 이 질문을 드리는 이유는 FileUpload.js에서 이미지를 업로드 했을 때, 이미지 state에 새로운 이미지를 추가하였는데, 부모 컴포넌트(UploadProductPage.js)에게 그냥 이미지 state만 보내지 않고, 추가된 이미지도 같이 보내는 이유가 궁금했습니다. <br /> 즉, FileUpload.js의 submitHandler에서 ''' setImages([...Images, response.data.filePath]) ''' 이렇게 해서 이미지 state에 새로 업로드한 이미지를 추가하였으니 부모 컴포넌트에게 state 정보를 보낼 때는 ''' props.refreshFunction([...Images]) ''' 이렇게 보내면 될 것 같은데, 이렇게 하지 않고 ''' props.refreshFunction([...Images, response.data.filePath]) ''' 이렇게 방금 추가한 이미지도 같이 보내야 되는 이유가 궁금합니다.
-
미해결웹 게임을 만들며 배우는 React
require, import를 왜 한가지로 통일해서 써야하나요?
client.jsx에서는 require를 썼고 야구게임.jsx에서는 import를 썼는데 element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "object". 에러를 받았습니다. 구글링 해보니 한가지로 통일해야한다고 했는데 왜인가욥?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
커스텀 훅 useInput에서 Dispatch<SetStateAction<T>>에 관한 설명을 어디서 찾아볼수 있을까요?
커스텀 훅 useInput에서 Dispatch<SetStateAction<T>>에 관한 설명을 어디서 찾아볼수 있을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
서버 사이드 렌더링에 대해 질문이 있습니다
안녕하세요 제로초님~ 강의에 내용에 막힌 것이 있어 드리는 질문은 아니구 SSR 관련되어 궁금한 것이 있어 질문 올립니다. 질문의 요건을 먼저 말씀드리자면 NextJS 없이 커스텀 서버로 SSR를 제공하는 것에 장점이 무엇이 있는지 여쭤보고 싶습니다. SSR을 공부하면서 Next.js 없이 Express(or Koa) 같은 커스텀 서버에 react-router-dom 을 사용하는 방법이 있다고 알고 있는데요. 실제 제 회사의 유관 부서들 중 NextJS 없이 SSR로 서비스를 제공하는 곳이 있습니다. 제가 공부하면서 느낀 것은 SSR을 구현하면서 라우팅 방식을 제외하면, 구조가 NextJS를 따라가게 되는 것 같습니다. 비록 서비스에 프로젝트 구성을 도입한 개발자들이 저마다의 이유가 있어 세팅을 그렇게 한 것이겠지만, 대중적으로 생각하자면 직접 세팅을 다하면서 초기 개발의 overhead가 들어가는것, 프로젝트를 인수 인계할 때의 소통 비용 등을 제치고 사용할 큰 장점이 있는지 궁금합니다. 예를 들어 퍼포먼스 상승의 이유인지, File-based structure 가 싫어서 그런건지 답변을 듣고 싶습니다.
-
미해결웹 게임을 만들며 배우는 React
map 함수를 이용하여 나타내는 태그
안녕하세요 강의 정말 잘 보고 있습니다. 강의 도중에 많이 사용하시는 map 함수에 대해 질문이 있어 글을 작성하게 되었습니다. 로또 만들기에서 {renderNum.map((v) => <div key={v}>{v}</div>);} 이런식으로 사용하셨는데 이 구문을 그냥 바로 return에 넣으면 화면에 나타나지 않고 return 구문전에 변수에 담은 다음에 return 문에 변수로 나타내주어야 화면에 잘 나오는 현상이 있는데 리액트 버전이 올라가면서 바뀐 부분인 건가요? 아니면 제가 혹시 실수한 것이 있는건가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
회원가입이 안되는데 어떻게 수정해야될까요?
console 창 가져온건데 서버-클라이언트 코드가 달라 변경도 해보았는데 안되서 어떻게 해야할지 모르겠습니다ㅠㅠ 도와주세요ㅜㅜ 서버쪽코드 const request = axios.get(`${USER_SERVER}/auth`) 클라이언트코드 router.get("/auth", auth, (req, res) => {