<p dir="auto">I get an unhandled promise rejection when using <code class="notranslate">withRouter(MyComponent)</code> and <code class="notranslate">props.router.prefetch('/foo')</code> within MyComponent.</p>


<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/zeit/next.js/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Expected Behavior</h2>

<p dir="auto">I expected <code class="notranslate">props.router.prefetch('/foo')</code> to just work as illustrated <a href="https://github.com/zeit/next.js/#imperatively">here</a>.</p>

<h2 dir="auto">Current Behavior</h2>

<p dir="auto">I get the following error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="TypeError: Cannot read property 'loadPage' of undefined
at Router._callee8$ (/Users/jmike/Workspace/project/node_modules/next/dist/lib/router/router.js:726:40)"><pre class="notranslate"><code class="notranslate">TypeError: Cannot read property 'loadPage' of undefined
at Router._callee8$ (/Users/jmike/Workspace/project/node_modules/next/dist/lib/router/router.js:726:40)
</code></pre></div>

<h2 dir="auto">Steps to Reproduce (for bugs)</h2>


<ol dir="auto">
<li>Create dummy react component</li>
<li>Wrap component with <code class="notranslate">withRouter</code> HOC</li>
<li>Run <code class="notranslate">props.router.fetch('/foo')</code></li>
</ol>
<h2 dir="auto">Context</h2>


<h2 dir="auto">Your Environment</h2>

<table role="table">
<thead>
<tr>
<th>Tech</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>next</td>
<td>4.2.1</td>
</tr>
<tr>
<td>node</td>
<td>9.2.0</td>
</tr>
<tr>
<td>OS</td>
<td>MacOS 10.12.6</td>
</tr>
<tr>
<td>browser</td>
<td>Google Chrome 63.0.3239.84</td>
</tr>
</tbody>
</table>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/zeit/next.js/issues?q=is%3Aissue">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<p dir="auto">Next.js breaks from GitHub convention by using <code class="notranslate">canary</code> as the default branch. I'm sure there are great reasons for this, but I think it's important to flag it up in the readme, and perhaps even add navigation-style links at the top to switch between the 'master' and 'canary' readmes. I'd be happy to add this if you're open to it.</p>
<p dir="auto">This would help new users to avoid getting confused reading the wrong docs. It would also help users like me who want to get involved but who get put off by not being able to answer simple questions quickly and confidently, like which branch should I pull from, or PR into, etc.</p>