sh
@msh
Reviews Written
-
Average Rating
-
Posts
Q&A
context.query.tag ๊ฐ ์์กํ๋๋ค.
๋ค ๋ฐ์์คํ ๋ฐ ํ์ธ ๊ฐ์ฌํฉ๋๋ค! ์ง๊ธ์ ์๊ฐ์ด ์์ด์ ์นดํผํ์ง๋ง ์๊ฐ ๋ ๋ ๋ค์ ๋ณด๊ณ ์์ธ์ ์ฐพ๋๋ค๋ฉด ์ ๊ฐ์ ๋ถ๋ค์ ์ํด ๋๊ธ ๋จ๊ธฐ๊ฒ ์ต๋๋ค.!
- 0
- 8
- 310
Q&A
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
- 310
Q&A
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
- 310




