월 28,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
body와 banner
안녕하세요, 아래와 같이 입력하면 배너컬러가 middle위에 올라오잖아요 /순차적으로 div를 작성하는데 왜 배너가 위로 올라올까요? 블록박스니까 순차적으로 아래로 가야되는거 아닌가요? div id="middle"안에 있는 banner라서 그런가요? 궁금해요! <body> <div id="header"></div> <div id="middle"> <div id="banner">banner</div> </div> <div id="footer"></div> </body>
- 해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
mobile constants.js API_URL관련 질문
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요! 서버와 통신을 할 때 ngrok으로 하면 정상으로 작동하는데,local 8080으로 시도를 하면 오류가 발생합니다. 왜 8080으로 시도하면 오류가 발생하는지 몰라서 질문드립니다.<ngrok버전>github 주소입니다.https://github.com/yanggyuheon/grab-market-mobile
- 해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
heroku 관련 질문
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요! heroku 무료버전이 끝나서 서버 연결에 문제가 생겼는데, 서버연결할 다른 방식이 있을까요?
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Uncaught TypeError: Cannot create property '_updatedFibers' on number '0' at requestUpdateLane (react-dom.development.js:25417:1)
제가 reactDOM.render가 더이상 18v에서 작동안한다해서 root.render로 방식을 바꾸었는데 이제 딱 이에러 하나만 남았습니다.. 해결을 못하겠습니다react-dom.development.js:25417 Uncaught TypeError: Cannot create property '_updatedFibers' on number '0' at requestUpdateLane (react-dom.development.js:25417:1) at updateContainer (react-dom.development.js:28815:1) at ReactDOMHydrationRoot.render.ReactDOMRoot.render (react-dom.development.js:29314:1) at ./src/index.js (index.js:9:1) at options.factory (react refresh:6:1) at __webpack_require__ (bootstrap:24:1) at startup:7:1 at startup:7:1requestUpdateLane@react-dom.development.js:25417updateContainer@react-dom.development.js:28815ReactDOMHydrationRoot.render.ReactDOMRoot.render@react-dom.development.js:29314./src/index.js@index.js:9
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
react-router-dom사용이후 컴파일은 성공했으나 그뒤로 지속적인 문제가 발생합니다..
import "./App.css"; import MainPageComponent from "./main"; import { Switch, Route } from "react-router-dom"; import UploadPage from "./upload"; import ProductPage from "./product"; function App() { return <div> <Switch> <Route exact={true} path={"/"}> <MainPageComponent/>; </Route> <Route exact={true} path="/product"> <ProductPage/> </Route> <Route exact={true} path="/upload"> <UploadPage/> </Route> </Switch> </div> } export default App; import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import { BrowserRouter as Router } from 'react-router-dom'; ReactDOM.render( <React.StrictMode> <Router> <App /> </Router> </React.StrictMode>, document.getElementById('root') ); // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals(); "name": "reactsecond", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "axios": "^1.2.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^5.2.0", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] } } 오류내용- 화면이 빈페이지로나옴(컴파일은 success)react-dom.development.js:86 Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createrootprintWarning @ react-dom.development.js:86bootstrap:27 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy') at ensureRootIsScheduled (react-dom.development.js:25626:1) at scheduleUpdateOnFiber (react-dom.development.js:25531:1) at updateContainer (react-dom.development.js:28858:1) at react-dom.development.js:29576:1 at flushSync (react-dom.development.js:26189:1) at legacyCreateRootFromDOMContainer (react-dom.development.js:29575:1) at legacyRenderSubtreeIntoContainer (react-dom.development.js:29601:1) at Object.render (react-dom.development.js:29685:1) at ./src/index.js (index.js:8:1) at options.factory (react refresh:6:1)140react-dom.development.js:26146 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy') at batchedUpdates$1 (react-dom.development.js:26146:1) at batchedUpdates (react-dom.development.js:3991:1) at dispatchEventForPluginEventSystem (react-dom.development.js:9287:1) at dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay (react-dom.development.js:6465:1) at dispatchEvent (react-dom.development.js:6457:1) at dispatchContinuousEvent (react-dom.development.js:6444:1)5react-dom.development.js:26146 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy') at batchedUpdates$1 (react-dom.development.js:26146:1) at batchedUpdates (react-dom.development.js:3991:1) at dispatchEventForPluginEventSystem (react-dom.development.js:9287:1) at dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay (react-dom.development.js:6465:1) at dispatchEvent (react-dom.development.js:6457:1) at dispatchDiscreteEvent (react-dom.development.js:6430:1)4react-dom.development.js:26146 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy') at batchedUpdates$1 (react-dom.development.js:26146:1) at batchedUpdates (react-dom.development.js:3991:1) at dispatchEventForPluginEventSystem (react-dom.development.js:9287:1) at dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay (react-dom.development.js:6465:1) at dispatchEvent (react-dom.development.js:6457:1) at dispatchContinuousEvent (react-dom.development.js:6444:1)8react-dom.development.js:26146 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy') at batchedUpdates$1 (react-dom.development.js:26146:1) at batchedUpdates (react-dom.development.js:3991:1) at dispatchEventForPluginEventSystem (react-dom.development.js:9287:1) at dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay (react-dom.development.js:6465:1) at dispatchEvent (react-dom.development.js:6457:1) at dispatchDiscreteEvent (react-dom.development.js:6430:1)128react-dom.development.js:26146 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy') at batchedUpdates$1 (react-dom.development.js:26146:1) at batchedUpdates (react-dom.development.js:3991:1) at dispatchEventForPluginEventSystem (react-dom.development.js:9287:1) at dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay (react-dom.development.js:6465:1) at dispatchEvent (react-dom.development.js:6457:1) at dispatchContinuousEvent (react-dom.development.js:6444:1)
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
expo가 터미널상에서 열어집니다.
1.양규현님이 질문해주신 것과 같은 상황인것 같습니다. expo가 웹상에서 열어지지 않고 터미널 상에서 열어집니다. 제가 엑스포를 실행할때에는 폴더명에 []같은 기호가 없습니다. 어떻게 해야하나요?(폴더를 다시생성해서 영어로만 된 폴더명을써도 같네요..왜그럴까요)2.expo앱을 설치해서 사용하는것은 되는것같습니다. 이렇게해서 수업을 따라가도 문제가 없을까요? (base) imjaeeun@imjaeeun-ui-MacBookAir grabmarket_mobile % npm start> grabmarket_mobile@1.0.0 start> expo startStarting project at /Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobileStarting Metro Bundler▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ ▄▄▄▄▄ █ █▄ ▀▄▀█ ▄▄▄▄▄ ██ █ █ █ ▀▄ █▀█ ▄█ █ █ ██ █▄▄▄█ █▀██▀▀ █▄██ █▄▄▄█ ██▄▄▄▄▄▄▄█▄▀▄█ █▄█▄█▄▄▄▄▄▄▄██▄▄█▀▄▄▄▀█▀▀▄▀█▄ ███ ▀▄▄ ▄██▀█▄ ▄ ▄▄██▀ ▄▄█ ▀ █▄ ▀███▀▄ █▄▄▄ ▀▀▄█▄▀▄▀▄▀▄▀▀▄ ▀█████▀▄▀▄▄▄▀▄▄█▀█▀▄▄▄█▄▀ ▀████▄▄▄▄█▄▄█ ▄▄ █▄▄ ▄▄▄ ▀ ▄▄██ ▄▄▄▄▄ █▀ ▄ ██▀▀ █▄█ ▀▀████ █ █ █▄█ ▀▀▀▄█▄▄ ▄▄▀ ▀▀██ █▄▄▄█ █▀▀▀ ███▄██▄▀█▀▀ ███▄▄▄▄▄▄▄█▄▄▄███▄████▄▄▄▄▄▄█› Metro waiting on exp://192.168.0.104:19000› Scan the QR code above with Expo Go (Android) or the Camera app (iOS)› Press a │ open Android› Press i │ open iOS simulator› Press w │ open web› Press j │ open debugger› Press r │ reload app› Press m │ toggle menu› Press ? │ show all commandsLogs for your project will appear below. Press Ctrl+C to exit.watchman warning: Recrawled this watch 3 times, most recently because:MustScanSubDirs UserDroppedTo resolve, please review the information onhttps://facebook.github.io/watchman/docs/troubleshooting.html#recrawlTo clear this warning, run:watchman watch-del '/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile' ; watchman watch-project '/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile'metro-file-map: Haste module naming collision: grabmarket_mobile The following files share their name; please adjust your hasteImpl: * <rootDir>/package.json * <rootDir>/grabmarket_mobile/package.jsonFailed to construct transformer: DuplicateError: Duplicated files or mocks. Please check the console for more info at setModule (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:553:17) at workerReply (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:624:9) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 9) at async /Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:395:22 at async DependencyGraph.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/node-haste/DependencyGraph.js:94:5) at async Bundler.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/Bundler.js:75:5) at async IncrementalBundler.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/IncrementalBundler.js:327:5) at async Server.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/Server.js:1247:5) { mockPath1: 'package.json', mockPath2: 'grabmarket_mobile/package.json'}Error: Duplicated files or mocks. Please check the console for more info at setModule (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:553:17) at workerReply (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:624:9) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 9) at async /Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:395:22 at async DependencyGraph.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/node-haste/DependencyGraph.js:94:5) at async Bundler.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/Bundler.js:75:5) at async IncrementalBundler.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/IncrementalBundler.js:327:5) at async Server.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/Server.js:1247:5)Error: Duplicated files or mocks. Please check the console for more info at setModule (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:553:17) at workerReply (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:624:9) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 9) at async /Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro-file-map/src/index.js:395:22 at async DependencyGraph.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/node-haste/DependencyGraph.js:94:5) at async Bundler.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/Bundler.js:75:5) at async IncrementalBundler.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/IncrementalBundler.js:327:5) at async Server.ready (/Users/imjaeeun/파일관리/프로그래밍/Web공부/grabmarket_mobile/node_modules/metro/src/Server.js:1247:5)
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
react-native Carousel
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요! {/* <Carousel data={banners} sliderWidth={Dimensions.get("window").width} itemWidth={Dimensions.get("window").width} itemHeight={200} renderItem={(obj) => { return ( <TouchableOpacity> <Image source={{ uri: obj.item.imageUrl }} /> </TouchableOpacity> ); }} /> */}Android Bundling complete 4314msERROR Invariant Violation: ViewPropTypes has been removed from React Native. Migrate to ViewPropTypes exported from 'deprecated-react-native-prop-types'.ERROR Invariant Violation: Failed to call into JavaScript module method AppRegistry.runApplication(). Module has not been registered as callable. Registered callable JavaScript modules (n = 11): Systrace, JSTimers, HeapCapture, SamplingProfiler, RCTLog, RCTDeviceEventEmitter, RCTNativeAppEventEmitter, GlobalPerformanceLogger, JSDevSupportModule, HMRClient, RCTEventEmitter.A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.ERROR Invariant Violation: Failed to call into JavaScript module method AppRegistry.runApplication(). Module has not been registered as callable. Registered callable JavaScript modules (n = 11): Systrace, JSTimers, HeapCapture, SamplingProfiler, RCTLog, RCTDeviceEventEmitter, RCTNativeAppEventEmitter, GlobalPerformanceLogger, JSDevSupportModule, HMRClient, RCTEventEmitter.A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native. react-native Carousel 부분에서 에러가 발생하는데 윈도우 해결법이 있나요?https://stackoverflow.com/questions/71702392/viewproptypes-will-be-removed-from-react-native-migrate-to-viewproptypes-export봐도 잘 모르겠어서 질문남깁니다. 추가로 노치가 없는 기종에 safeareaView를 줘도 처리가 안되는데 어떻게 처리해야 하나요?
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
axios 오류 "Can't resolve axois in "
ERROR in ./src/main/index.js 6:0-26Module not found: Error: Can't resolve 'axois' in 'C:\Users\wasab\OneDrive\바탕 화면\reactfirst\src\main'이런식으로 떠요 분명히 index.js에 axios를 import했고 npm으로 install packages.json하고 module에 axios있는것을 확인하였는데 지속적으로 오류가납니다
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
마켓 키보드 부분이 밑으로 가게 됩니다
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요! 키보드를 붙이면 위에 그림처럼 농구공 오른쪽이 아니라 밑으로 가게 되어서요 어떤점이 문제인지 잘 모르겠습니다 ..!!
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
CORS 에러가 나옵니다.
웹 소스코드https://github.com/ChunMaRung/grab-market 익스프레스 서버 소스코드https://github.com/ChunMaRung/Express 무엇이 문제인지 궁금합니다.
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Can't resolve 'antd/dist/antd.css'
antd 설치 후에 App.js에 import 'antd/dist/antd.css'를 적어주면 아래와 같이 나타나요..import 'antd/dist/antd.css'import 'antd/dist/antd.min.css'2개 전부 시도해봤는데 똑같이 사진속 화면이 나타나요react 버전은 18.2.0이고 antd는 5.0.7입니다..!
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
배너가 불러와지지 않습니다
const express = require("express"); const cors = require("cors"); const app = express(); const models = require("./models"); const multer = require("multer"); // const upload = multer({ dest: "uploads/" }); const upload = multer({ storage: multer.diskStorage({ destination: function (req, file, cb) { cb(null, "uploads/"); }, filename: function (req, file, cb) { cb(null, file.originalname); }, }), }); const port = 8080; app.use(express.json()); app.use(cors()); app.use("/uploads", express.static("uploads")); app.get("/banners", (req, res) => { models.Banner.findAll({ limit: 2, }) .then((result) => { res.send({ banners: result, }); }) .catch((error) => { console.error(error); res.status(500).send("에러가 발생했습니다"); }); }); app.get("/products", (req, res) => { // const query = req.query; // console.log("QUERY : ", query); models.Product.findAll({ // limit: 1, // where : { } order: [["createdAt", "DESC"]], attributes: ["id", "name", "price", "seller", "createdAt", "imageUrl"], }) .then((result) => { console.log("PRODUCT : ", result); res.send({ products: result, }); }) .catch((error) => { console.error(error); res.status(400).send("에러 발생"); }); // res.send({ // products: [ // { // id: 1, // name: "농구공", // price: 100000, // seller: "조던", // imageUrl: "images/products/basketball1.jpeg", // }, // { // id: 2, // name: "축구공", // price: 50000, // seller: "메시", // imageUrl: "images/products/soccerball1.jpg", // }, // { // id: 3, // name: "키보드", // price: 10000, // seller: "그랩", // imageUrl: "images/products/keyboard1.jpg", // }, // ], // }); }); app.post("/products", (req, res) => { const body = req.body; const { name, price, seller, description, imageUrl } = body; if (!name || !price || !seller || !description || !imageUrl) { res.status(400).send("모든 필드를 입력해주세요."); } models.Product.create({ name, // name = name price, seller, description, imageUrl, }) .then((result) => { console.log("상품 생성 결과 : ", result); res.send({ result, // result : result }); }) .catch((err) => { console.error(err); res.status(400).send("상품 업로드에 문제가 발생했습니다."); }); res.send({ body, //body : body }); }); app.get("/products/:id", (req, res) => { const params = req.params; const { id } = params; // res.send(`id는 ${id} 입니다.`); models.Product.findOne({ where: { id: id, }, }) .then((result) => { console.log("PRODUCT : ", result); res.send({ product: result, }); }) .catch((error) => { console.error(error); res.status(400).send("상품 조회에 에러가 발생했습니다."); }); }); // 이미지 한개만 요청하는 경우 app.post("/image", upload.single("image"), (req, res) => { const file = req.file; console.log(file); res.send({ imageUrl: file.path }); }); app.listen(port, () => { console.log("그랩의 쇼핑몰 서버가 돌아가고 있습니다."); models.sequelize .sync() .then(() => { console.log("DB 연결 성공!"); }) .catch((err) => { console.error("DB 연결 에러 ㅠ"); process.exit(); }); }); import React from "react"; import "./index.css"; import axios from "axios"; import { Link } from "react-router-dom"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import { API_URL } from "../config/constants.js"; import { Carousel } from "antd"; dayjs.extend(relativeTime); // 기능 확장 function MainPage() { const [products, setProducts] = React.useState([]); const [banners, setBanners] = React.useState([]); React.useEffect(function () { axios .get( //"https://daa98a8e-bcac-42e0-a0ae-c5562a66248a.mock.pstmn.io/products" // "http://localhost:8080/products" `${API_URL}/products` ) .then(function (result) { const products = result.data.products; setProducts(products); }) .catch(function (error) { console.error("에러 발생 : ", error); }); axios .get(`${API_URL}/banners`) .then((result) => { const banners = result.data.banners; setBanners(banners); }) .catch((error) => { console.error("에러 발생 : ", error); }); }, []); return ( <div> <Carousel autoplay autoplaySpeed={3000}> {banners.map((banner, index) => { return ( <Link to={banner.href}> <div id="banner"> <img src={`${API_URL}/${banner.imageUrl}`} /> </div> </Link> ); })} </Carousel> <h1 id="product-headline">판매되는 상품들</h1> <div id="product-list"> {products.map(function (product, index) { return ( <div className="product-card"> <Link className="product-link" to={`/products/${product.id}`}> <div> <img className="product-img" src={`${API_URL}/${product.imageUrl}`} /> </div> <div className="product-contents"> <span className="product-name">{product.name}</span> <span className="product-price">{product.price}원</span> <div className="product-footer"> <div className="product-seller"> <img className="product-avatar" src="images/icons/avatar.png" /> <span>{product.seller}</span> </div> <span className="product-date"> {dayjs(product.createdAt).fromNow()} </span> </div> </div> </Link> </div> ); })} </div> </div> ); } export default MainPage; Server server.jsReact index.js콘솔창 에러banners DBproducts DB차례대로 첨부해드렸습니다.도저히 안되어서 선생님 코드를 복붙까지 했는데 안되네요ㅠㅠ 도와주세요..
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
상세 페이지 데이터 누락 오류입니다.
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.따라가던 도중 메인페이지에서는 이미지와 정보들이 잘 나오는데 클릭 후 상세페이지로 넘어갔을때 화면과 같이 데이터들이 누락 됩니다. 데이터 받아오는 로그 사진 입니다. https://github.com/Joji6666/jinsMarket2https://github.com/Joji6666/jinsmarketServer 웹 이랑 서버 깃헙 주소 올려드립니다. ㅠㅠ 2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
url에 들어가니 오류가 떠요
위에있는 url에 들어가면 이렇게 에러가 떠요
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
fetch 함수가 오류가 납니다
크롬 개발자모드로 했는데 계속 오류가 납니다.. fetch() 가로도 붙여서 했는데 이러면 어떻게 하나요?
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
농구공 이미지가 안나옵니다!
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.상품 페이지 준비중 다음 페이지에 농구공 이미지가 안나옵니다.아바타 이미지는 잘나오는데.. 데이터를 잘못 받아오고 있는지 잘 모르겠네요. https://github.com/Joji6666/JinsMarketProject 깃헙 남깁니다.. 한번 봐주시면 감사하겠습니다. ㅜㅜ2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
id를 다시 1부터 하고 싶어요
DB Browser에서 우클릭해서 '레코드 삭제'로 '모든 내용'을 삭제 시킨 다음 다시 id를 1부터 하고 싶은데 실제 마지막으로 사용됐던 id+1부터 쌓이는데 불편하네요 ㅠㅠ 어떻게 하면 1부터 시작할 수 있나요? 일부 삭제후 추가 할때는 당연히 마지막 id+1부터 추가되는게 맞긴한데, 다 날리고 싶을 땐 어떻게 하면 되는지 궁금합니다.
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
이미지 경로가 이상해서 이미지가 안나오는 것 같습니다.
상품 등록하기 버튼으로 추가된 imageUrl의 경로가 역슬래시로 되어 있어서 이미지가 안나오는 것 같습니다.어떻게 해결할 수 있을까요?
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Can't resolve 'antd/dist/antd.css' 오류 발생
antd 설치 후 import "antd/dist/antd.css"; 입력웹페이지에서 실행 시 아래 사진과 같은 에러메세지가 나옵니다
- 미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
return 반환이라는 개념이 이해가 되질 않아요
return 반환이라는 개념이 정확히 이해가 되지 않습니다함수 단계 와서는 개념 이해보다 그냥 외우게 되는 거 같아요 이해가 되지 않아서요..선언식과 표현식은 어떨때 사용하나요