Перенаправление на панель инструментов, если реквизит не получен - PullRequest
0 голосов
/ 18 мая 2018

Я переезжаю к маршруту назначения, щелкая компонент React Link.В ссылке я указываю идентификатор данных, которые необходимо извлечь в месте назначения, в пропу 'to'.Нет проблем, если пользователь нажимает на ссылку и достигает пункта назначения.Но если пользователь непосредственно вводит маршрут назначения в браузере, так как идентификатор не передается, эта ошибка выдается.

Невозможно прочитать свойство 'lessonplan_id' из неопределенного

ошибка возникает в конструкторе при назначении lessonplan_id

this.state = {
            currSlide:0,
            slides: [],
            lessonplan_id: this.props.location.state.lessonplan_id
        }

Я попытался перехватить ошибку и использовать Redirect.Но это не похоже на работу.Как я могу автоматически перенаправить на приборную панель, если реквизиты не получены?

1 Ответ

0 голосов
/ 18 мая 2018

Если вы определили свой маршрут следующим образом в index.js или любом другом файле, который вы можете использовать для маршрутов,

ReactDOM.render(
    <HashRouter>
        <Route
            path="/lessonplan/:lessonplan_id"
            component={LessonPlanComponent}
        />            
    </HashRouter>
)

Вы можете получить lessonplan_id в LessonPlanComponent как,

this.props.match.params.lessonplan_id

Работает независимо от того, как вы дойдете до компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...