Частный маршрут с Dynami c URL в реакции - PullRequest
0 голосов
/ 01 апреля 2020

Я создал компонент PrivateRoute в React, который берет данный компонент и отображает его, если пользователь вошел в систему или нет.

export default function PrivateRoute({component: Component,...rest}) {
return (
    <SessionContext.Consumer > {
        (context) => {

            const {isLoggedIn} = context

            return (
                <Route {...rest}
                render = {
                    props =>
                    isLoggedIn ? ( 
                        <Component {...props} />
                    ) : (
                        <Redirect to = "/login" / >
                    )
                }
                />
            )
        }
    }
    </SessionContext.Consumer>
);
}

Сейчас в приложении. js Я передаю свой закрытый компонент как это:

<PrivateRoute exact path="/dashboard" component={Dashboard} />

Теперь проблема в том, когда я хочу передать параметр в URL. Вот как я делаю для компонента Route:

<Route path="/user/:user_id" render={(props) =>
              <UserComponent user={props.match.params.user_id} />
            } />

Этот синтаксис, к сожалению, не работает при использовании моего PrivateRouter.

Я пробовал несколько других подходов, но не могу найти способ получить user_id в моем UserComponent.

Я что-то упустил?

1 Ответ

0 голосов
/ 01 апреля 2020

Ваш PrivateRoute использует опору component. Но вы передаете компонент через render. если я правильно понимаю ваш вопрос.

...