#reactjs #routes #react-router #next.js #push
#reactjs #маршруты #react-маршрутизатор #next.js #толкать
Вопрос:
У меня есть приведенный ниже код. Он перенаправляет на /home и передает переменную электронной почты. Однако в адресной строке отображается http://localhost:4000/home?email=steverodgers@gmail.com . Как я могу передавать переменные с помощью react и next.js чисто?
import { withRouter } from 'next/router'
authenticateUser(this.user)
.then(response => {
var email = response['email'];
if (email) {
this.props.router.push({
pathname: '/home',
query: { email: email}
});
}
});
Ответ №1:
Используя ваш пример параметра электронной почты, вам необходимо настроить динамическую маршрутизацию и настроить маршрутизатор на отправку в качестве адреса электронной почты.
Если вы включаете мелкую маршрутизацию, знайте, что она работает только для того же URL-адреса страницы. После настройки динамической страницы вы перейдете к ней через router.push
like:
router.push('home/[email]', `/home/${email}`);