Передайте значение пропуска из компонента входа в компонент маршрутов - PullRequest
1 голос
/ 11 июля 2019

У меня есть настройка формы входа в систему, используя и одно конкретное значение props.values.userType Мне нужно передать через реквизиты в мой файл index.js, где я отображаю все свои маршруты.

Итакв моем <Login> компоненте у меня есть <RadioButtonGroup>, который делает доступными 3 типа пользователей

<RadioButtonGroup
 id="userType"
 label="User Type"
 value={values.userType}
 error={errors.userType}
 touched={touched.userType}
 onBlur={handleBlur}
>

Отсюда userType существует в formik как props.values.userType

Я хочу передать это значение реквизита в мой файл index.js, который отображает все мои маршруты.

index.js ниже

const Routes = () => (
  <Router>
    <Switch>
      <Route exact path="/" component={Home} />
      <Route path="/login" component={FormikLoginForm} />
      <PrivateRoute exact path="/admin" component={AdminPage} />
      <Route path="/admin/change-password" component={ChangePassword} />
    </Switch>
  </Router>
);

Как этого добиться?

кодов здесь и поле

1 Ответ

3 голосов
/ 11 июля 2019

Вместо использования component в качестве реквизита для каждого <Route />, вы можете использовать реквизит render для передачи реквизита в компонент, который вы хотите визуализировать на этом маршруте.

Например, в вашем случае, если ваш компонент назывался Login:

<Route
  path='/login'
  render={(props) => <Login {...props} userType={props.values.userType} />}
/>

Или что-то подобное в зависимости от вашего варианта использования.

...