Самый быстрый способ сделать это:
{React.cloneElement(this.props.children, this.props)}
Чтобы изменить URL-адрес после сообщения формы, вы должны использовать res.redirect()
для перенаправления браузера на новый URL-адрес. Затем браузер запросит новый URL-адрес, и вам понадобится маршрут для этого нового URL-адреса, чтобы вернуть желаемое содержимое страницы.
router.post('/', (req, res) => {
// other code here to process form data
newUser.save(..., function(err) {
if (err) {
console.log(err);
res.sendStatus(500);
} else {
// build new URL here
res.redirect(newURL);
}
});
}
Если вы хотите отобразить имя пользователя на странице к которому вы перенаправляетесь, вы должны использовать шаблон EJS, в котором есть место в нем для имени пользователя, и вы получите имя пользователя из любого места, куда вы поместите его в URL-адрес, и отправьте его в res.render()
для шаблона, чтобы EJS вставьте имя пользователя в нужное место.
Если вы делаете какой-то логин, вы можете захотеть сделать весь процесс по-разному. Возможно, вам захочется создать объект сеанса пользователя (возможно, с express-session
) на сервере и сохранить имя пользователя там, чтобы в любое время вы хотите отобразить страницу, имя пользователя можно извлечь из объекта сеанса на стороне сервера, а не помещать это в URL. Это, вероятно, немного более надежным.
res.redirect()
для ответа. Я думаю, что все это в ответе. Если вы не понимаете что-то в ответе, задайте более конкретный вопрос о том, что вы не понимаете. – jfriend00 14 July 2018 в 02:20res.render()
вы создаете новый URL с именем в нем и используетеres.redirect(newURL)
. Затем создайте маршрут, который обрабатывает новый URL. Когда браузер получит перенаправление, он запросит новый URL-адрес, и ваш сервер получит запрос на новый URL-адрес, а затем вы можете отобразить страницу в этом обработчике запросов с именем в нем. – jfriend00 14 July 2018 в 02:32res.redirect()
Требуется законный рабочий URL. Вы вызываетеres.redirect(url)
. Браузер получает ответ перенаправления, а затем запрашивает новый URL-адрес. Затем ваш сервер будет обслуживать страницу с этого нового URL-адреса. Это хорошая вещь. Если URL-адрес отображается в браузере, ваш сервер лучше знает, что с ним делать - так все работает в браузере. – jfriend00 14 July 2018 в 03:41