From 0487956c4738ed0c961bececedbdeeca540b5d72 Mon Sep 17 00:00:00 2001 From: Remy Sharp Date: Fri, 7 Apr 2017 18:01:40 +0100 Subject: [PATCH] docs: don't blow away existing query string (#1638) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: don't blow away existing query string See comments in diff - I ran across this and it took me a while to work out why my client side code worked, but the server didn't. It was because I didn't realise that `.render`'s 3rd arg was the query object, so it was losing the _actual_ query string. * chore: remove trailing spaces ¯\_(ツ)_/¯ I think! --- examples/parameterized-routing/server.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/parameterized-routing/server.js b/examples/parameterized-routing/server.js index 35a42482..1089d526 100644 --- a/examples/parameterized-routing/server.js +++ b/examples/parameterized-routing/server.js @@ -12,14 +12,16 @@ const match = route('/blog/:id') app.prepare() .then(() => { createServer((req, res) => { - const { pathname } = parse(req.url) + const { pathname, query } = parse(req.url, true) const params = match(pathname) if (params === false) { handle(req, res) return } - - app.render(req, res, '/blog', params) + // assigning `query` into the params means that we still + // get the query string passed to our application + // i.e. /blog/foo?show-comments=true + app.render(req, res, '/blog', Object.assign(params, query)) }) .listen(3000, (err) => { if (err) throw err