소개
게시글
질문&답변
context.query.tag 가 안잡힙니다.
네 바쁘실텐데 확인 감사합니다! 지금은 시간이 없어서 카피했지만 시간 날 때 다시 보고 원인을 찾는다면 저같은 분들을 위해 댓글 남기겠습니다.!
- 0
- 8
- 262
질문&답변
context.query.tag 가 안잡힙니다.
서버를 껐다 켜도 동일합니다ㅠ,, routes/user.js router.get('/', (req, res) => { if (!req.user) { return res.status(401).send('로그인이 필요합니다.'); } const user = Object.assign({}, req.user.toJSON()); delete user.password; console.log('user? ', user); return res.json(user); }); routes/user.js에서 콘솔로 user값은 잘 받아오고있는데요, 여기서 리턴을 하면 pages/user.js에서 받아서 데이터를 보여주는 거죠? 동적 주소로 접근 시 페이지를 못 찾는걸까요?ㅠㅠ next와 express 연결은 해줬는데 뭐가 문제인지... server.js 에 next-express간의 연결을 적용 한 부분입니다. app.prepare().then(() => { const server = express(); server.use(morgan('dev')); server.use(express.json()); server.use(express.urlencoded({ extended:true })); server.use(cookieParser(process.env.COOKIE_SECRET)); server.use(expressSession({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie:{ httpOnly: true, secure: false, }, }));
- 0
- 8
- 262
질문&답변
context.query.tag 가 안잡힙니다.
네네 그 부분이 맞습니다. http://localhost:3060/user/1 이 url로 접속을 하게 되면 넘겨주는 것 아닌가요?ㅜㅜ 근데 여기에 접속하면 404에러가 뜹니다. user 및 hashtag 컴포넌트에서는 props로 전달받도록 추가했구요. 관련 코드를 첨부하니 확인해주시면 정말 감사하겠습니다 ! server.js server.get('*', (req, res) => { return handle(req, res); }); server.get('/hashtag/:tag', (req, res) => { return app.render(req, res, '/hashtag', { tag: req.params.tag }); server.get('/user/:id', (req, res) => { return app.render(req, res, '/users', { id: req.params.id }); }); _app.js const NodeBird = ({ Component, store, pageProps }) => { return ( Provider store={store}> Head> title>NodeBirdtitle> link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/antd/3.16.2/antd.css" /> Head> AppLayout> Component {...pageProps}/> AppLayout> Provider> ); }; NodeBird.propTypes = { Component: PropTypes.node.isRequired, store: PropTypes.object.isRequired, pageProps: PropTypes.object.isRequired, } NodeBird.getInitialProps = async (context) => { const { ctx, Component } = context; let pageProps = {}; if(Component.getInitialProps){ pageProps = await Component.getInitialProps(ctx); } return { pageProps }; }; pages/user.js import React from 'react'; import PropTypes from 'prop-types'; const User = ({ id }) => { return ( div> user { id } div> ); }; User.propTypes = { id: PropTypes.number.isRequired, }; User.getInitialProps = async (context) => { User.log('user getInitialProps : ',context.query.id); return { id: parseInt(context.query.id, 10)} }; export default User;
- 0
- 8
- 262