Реквизиты не определены в реакции при прохождении через - PullRequest
1 голос
/ 20 апреля 2020

Мой реквизит не определен в реакции. Вот мое приложение. js строка кода:

<Route
            exact
            path='/solutions/standard'
            category={'standard'}
            component={Solutions}
          />

, а вот мой компонент enet:

import React from 'react';
import { Helmet } from 'react-helmet';

const Solutions = ({category}) => {
    const pageTitle = `${
      category.substring(0, 1).toUpperCase() + category.substring(1)
    } Solutions`;
  return (
    <div>
      <Helmet>
        <title>{pageTitle}</title>
      </Helmet>
    </div>
  );
};

export default Solutions;

, но я получаю это как ошибку рендеринга:

TypeError: Cannot read property 'substring' of undefined

По сути, пропеллер категории не определен по любой причине.

Ответы [ 3 ]

2 голосов
/ 20 апреля 2020

Или это:

<Route path='/solutions/standard'>
  <Solutions category='standard' />
</Route>
2 голосов
/ 20 апреля 2020

Проблема возникает из-за того, что вы не передаете какой-либо реквизит своему компоненту.

Чтобы передать его, либо используйте опору рендеринга, либо передайте ваш компонент как дочерний компонент компонента Route.

<Route exact path='/solutions/standard'>
  <Solutions category='solutions' />
</Route>
2 голосов
/ 20 апреля 2020

Используйте следующий синтаксис:

<Route
            exact
            path='/solutions/standard'
            render={() => <Solutions category='standard' />}
/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...