React Redirect не перенаправляет после отправки формы - PullRequest
0 голосов
/ 24 апреля 2020

Я пробовал несколько способов заставить мое приложение перенаправлять после отправки формы, но, похоже, ничего не работает, кроме принудительного использования с помощью 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 работает, но я не уверен, в чем проблема.

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