Извлечь параметр пути в React (комплект React загружается из представления Spring mvc) - PullRequest
0 голосов
/ 13 мая 2019

Я новичок, чтобы реагировать, простите, если вопрос слишком тривиален.У меня есть приложение, написанное весной mvc, часть которого переносится в React.(в основном одно из представлений будет заменено на React) На данный момент комплект реагирования загружается из представления, вызываемого из контроллера.

Есть ли способ получить параметры URL в React?На данный момент я делаю следующее:

В методе контроллера: (url - это myapp / attribute1 / attribute2)

fun reactView(@PathVariable("attribute1") attribute1: String,
        @PathVariable("attribute2") attribute2: String,
        model: ExtendedModelMap ): String {
    LOG.debug("react page")
    model.addAttribute("attribute1", attribute1);
    model.addAttribute("attribute2", attribute2);
    return "react"
}

В представлении реагировать на ошибки:

<div id="root" attribute1="${attribute1}" ></div>
<script src="..pathToBundle/bundle.js"></script>

На корневой странице реакции (index.js):

rootElement = document.getElementById("root") ReactDOM.render(<App attribute1={rootElement.getAttribute('attribute1')}, rootElement) В компоненте я могу извлечь его, используя:

this.props.invoiceNumber

Это работаетхорошо, но выглядит некрасиво, я слышал о маршрутизаторах, но не совсем понял их использование.Может ли этот сценарий быть решен с помощью Router?

Основной поток - это 1.Url1: myapp / attribute1 / attribute2.html, 2. Вычисления выполняются в методе контроллера, сопоставленном с указанным выше URL.2. Первоначально был возвращен View1, который анализирует ответ во внешнем интерфейсе. 3.После того, как вместо реакции возвращается View1, вводится другой вид реакции, который загружает пакет реакции, который имеет следующий код

    <div id="root" attribute1="${attribute1}" ></div>
    <script src="..pathToBundle/bundle.js"></script>

Итак, как мне получить url1 в компоненте React?

Спасибо,

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