Я пробовал несколько способов заставить мое приложение перенаправлять после отправки формы, но, похоже, ничего не работает, кроме принудительного использования с помощью window.location. Цель состоит в том, чтобы пользователь заполнил форму, а затем после отправки он должен быть перенаправлен на домашнюю страницу по адресу "/".
Прямо сейчас я устанавливаю значение в состоянии перенаправления на false и меняю его после моего сообщения ios в обработчике отправки, но оно ничего не делает. Вот как выглядит мой компонент:
lass Add extends Component {
constructor(props){
super(props)
this.state = {
id: "",
customer: "",
destination: "",
driver: "",
deliveryDate: new Date(),
redirect: false
}
this.handleChange = this.handleChange.bind(this);
}
handleChange(event){
this.setState({[event.target.name]: event.target.value})
console.log(this.state)
}
onChange = deliveryDate =>
this.setState({ deliveryDate })
submitHandler = e => {
var load = this.state
load = JSON.stringify(load)
axios.post('http://localhost:8080/add', load, { headers: { "Content-Type": "application/json" }})
.then(() => this.setState({ redirect: true }))
}
render() {
const { customer, destination, driver, deliveryDate, redirect} = this.state
return redirect ? <Redirect to='/' /> :
После этого остальное - форма, которую пользователь заполняет для добавления данных. Данные передаются в API, поэтому я знаю, что метод POST работает, но я не уверен, в чем проблема.