私は反応する初心者です。私はチュートリアルReact Tutorialに従ってサインアップフォームを作成していました。しかし、それは時代遅れです。ブラウザのリダイレクトを使用してリンクをクリックすると、サインアップ、ログイン、ホームページにリダイレクトしようとしています。子ルートにコンポーネントが添付されている場合、BrowserRouterの使用方法は?
const routes = {
component: Base,
childRoutes: [
{
path: '/',
component: HomePage
},
{
path: '/login',
component: LoginPage
},
{
path: '/signup',
component: SignUpPage
}
]
};
のような定義済みのルートとしてのチュートリアルベースコンポーネントは、ナビゲーションバーをリンクで定義します。このルートはインデックスページにインポートされ、ブラウザの履歴とともに使用されます。ブラウザ履歴は、React Router v4のように古くなっています。私はブラウザルーターを使いたいと思っていましたが、子ルートに付属のコンポーネントをどのように提供するのか分かりません。
私は
const routes = <Route component = {Base}>
<Switch>
<Route path="/" component={HomePage}/>
<Route path ="/login" component = {LoginPage}/>
<Route path ="/signup" component = {SignUpPage}/>
</Switch>
</Route>;
Routes.jsx
次Index.jsx
にimport { BrowserRouter as Router,Route } from 'react-router-dom';
ReactDOM.render((
<MuiThemeProvider muiTheme={getMuiTheme()}>
<Router>{routes}</Router>
</MuiThemeProvider>),
document.getElementById('root')
);
を試みたが、予想通り、私はそれがエラーを投げた、これは動作しないだろうと最初から知っていたし、 。 You should not use <Route component> and <Route children> in the same route; <Route children> will be ignored
および失敗した小道具タイプ:The prop
子供is marked as required in
ベース, but its value is
は未定義です。以前のバージョンのような子ルートについてはどこにも言及していないので、私は明らかです。私はこのReact training linkを調べてみましたが、ルートにコンポーネントを挿入する場所を見つけることができました。
助けていただければ幸いです。この質問には既に尋ねられていますが、反応ルータ4に関する多くのチュートリアルまたは適切なドキュメントが見つかりませんでした。申し訳ありません。
を使うべきだと思います。子なしで 'Base'をレンダリングしています.RRv4では、ネストされたルートを持つべきではありません。 – Li357
経路を動的に生成しますか? –
お返事ありがとうございます。 @Melounek答えは私が探していたものでした – RBN