Хотя @Massimiliano намекнул на ответ, я публикую этот отдельный ответ, потому что я не думаю, что он завершен.
В фрагменте кода, который я предоставил в исходном вопросе, проблема заключалась в том, что я пыталсяизвлекать данные перед рендерингом компонента (я думал о том, чтобы передать извлеченные данные в виде параметров в компонент).
Правильный способ сделать это - визуализировать компонент и затем использовать componentDidMount()
из жизненного цикла реагирующего компонента.,Там я проанализировал строку запроса, извлек данные и обновил состояние (используя this.setState()
).
Как говорят документы , вызов componentDidMount()
вызовет повторный рендеринг, но это происходитпрежде чем страница будет отображаться браузером в первую очередь.Таким образом, пользователь не увидит его как двойной рендер, хотя он и скрыт.
Мне не удалось выяснить, почему я не могу получить данные в <Route>
, но в потокея описал выше, это правильный подход к тому, что мне нужно.