これはかなり基本的な質問ですが、universal-router
のドキュメントではこれについて説明していません。その例は私のReactプロジェクトでは機能しないようです。ユニバーサルルータをReactに置く場所とリンクを定義する方法は?
私は私のindex.js
でこれを持っている:私のApp
コンポーネントで
import Router from 'universal-router';
import { HomeComponent, HelpComponent, AboutComponent } from './home.jsx';
const routes = [
{ path: '/', action:() => <HomeComponent /> },
{ path: '/home', action:() => <HomeComponent /> },
{ path: '/about', action:() => <AboutComponent /> },
{ path: '/help', action:() => <HelpComponent /> },
{ path: '*', action:() => <h1>Nope.</h1> }
];
const router = new Router(routes);
router.resolve({ path: '/' }).then(component => {
ReactDOM.render(component, document.getElementById('router-outlet'));
});
router.resolve({ path: '/help' }).then(component => {
ReactDOM.render(component, document.getElementById('router-outlet'));
});
router.resolve({ path: '/about' }).then(component => {
ReactDOM.render(component, document.getElementById('router-outlet'));
});
そしてこの、非常にシンプルなメニュー:
export class App extends React.Component {
render() {
return(
<div>
<a href="/">Root</a> |
<a href="/home">Home</a> |
<a href="/help">Help</a> |
<a href="/about">About</a> |
<a href="/uijsklfdsse">404</a>
</div>
);
}
}
あなたは、これは非常に簡単です見ての通り、私はちょうどしようとしていますがこれをどうやって得るかを理解する。それはほぼ正確に書かれたものですhere,まだそれは動作しません。何らかの理由で、いつもAboutComponent
が呼び出され、リンクをクリックするとブラウザがページ全体をリフレッシュしているように見えるので、SPAとして動作しません。私は経路定義を間違った場所に置いているような気がしますが、どこに置くのですか?リンクを定義する方法は?
私はを使用しています。React-router
は、インストール時に廃止され、このものに置き換えられていると言われています。悪い考えだったら教えてください。
私はそれをしました。解決は、実際のパスに関係なく常に発生します。私は実際には全体を捨て、別のルータを使用しています。私はこのくそ1日を無駄にした。 –