ReactReduxでのルーティングで、ログインした状態でしか見れないように以下のようなコンポーネントを作りました。
js
1import React from 'react'; 2import { Redirect, Route } from 'react-router-dom'; 3 4const UserOnlyRoute = ({ component: Component, user, ...rest }) => { 5 return ( 6 <Route {...rest} render={props => ( 7 user.uid ? <Component {...props} /> : <Redirect to="/" /> 8 )} /> 9 ); 10}; 11 12export default UserOnlyRoute;
これは普通に動いてくれるのですが、
「user.uid」という値がなぜ使えるのか理解できません。
実際にこのコンポーネントを使うときも、
js
1<UserOnlyRoute exact path="/home" component={UserOnly} />
こんな感じで、user.uidを引き渡したりはしていません。
昔自分で書いたコードなので、昔は理解していたはずなのですが…よろしくお願いします。
あなたの回答
tips
プレビュー