今していること
react.jsにてlogin済みuserしか見れないページを作成中
実現方法
参考サイトを参考にSwitch時にloginしていないとloginページに飛ばされるようなPrivateRouteを作成
困っていること
参考サイトを真似て実現はできた
→しかしrender props部分での質問有り
→詳細はコード内に記載
//App.jsでのswitch部分 <Switch> <PrivateRoute exact path="/create-profile" component={ CreateProfile } /> </Switch>
//PrivateRoute本体 import React from 'react'; import { Route, Redirect } from 'react-router-dom'; import { connect } from 'react-redux'; import propTypes from 'prop-types'; const PrivateRoute = ({component: Component, auth, ...rest}) => ( <Route {...rest} //**①ここは何のため??** render = {props => //**②propsはどこからどう何を引っ張ってきているのか??** auth.isAuthenticated === true ? ( <Component {...props} /> ) : ( <Redirect to="/login" /> ) } /> ); PrivateRoute.propTypes = { auth: propTypes.object.isRequired } const mapStateToprops = state => ({ auth: state.auth }) export default connect(mapStateToprops)(PrivateRoute);
コード内に記載した①、②が不明点です。
回答よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/17 08:12
退会済みユーザー
2018/11/17 10:45