Hey Im going to help migrating nextgram to email@example.com since it's a little bit outdated and unmatch today's README of next.js. While migrating next/css to styled-jsx goes well, I found <Model/> no more works.
In current nextgram with next@1.*, when this.props.url.push('/photo?id=' + id) is called, the <Index/> (a.k.a pages/index) is "kept" and just do a re-rendering thus we can see <Model/> shows upon <Index/>.
this.props.url.push('/photo?id=' + id)
However, with next@2.*, whatever router.push() or <Link/> is used, the <Index/> would be directly replaced with <Photo/> (a.k.a pages/index). This behaviour can be observed both in DOM or React Devtool.
It seems that the router in next@1.* behaves more "React way" and more "correct" in terms of the power we want to take from SPA and client-side routing such as Transition, Perf and Capability to render differently in different scenarios.
Maybe it's better to open a issue at next.js?
Closed via #9