При отправке формы я хочу перенаправить на другую страницу.Мои файлы таковы:
Main.js
import Home from '../Home'
import Results from "../Results";
class Main extends Component {
render() {
return (
<Router>
<Switch>
<Route path="/" component={Home}/>
<Route path="/show_parsed_results" exact component={Results}/>
</Switch>
</Router>
);
}
}
export default Main;
Home.js (здесь добавлен только соответствующий код.):
class Home extends Component {
state = {
filepath: '',
skiplines: 0,
is_loading: false,
is_error: false,
is_success: false,
err_message: ''
};
handleSubmit = event => {
event.preventDefault();
API.post(`path`, path_inputs)
.then(res => {
console.log(res);
console.log(res.data);
this.setState({
is_loading: false,
is_success: true
})
})
.catch(err => {
this.setState({
is_error: true,
is_loading: false,
err_message: err['message']
})
})
};
render() {
if (this.state.is_success) {
return <Redirect to='/show_parsed_results'/>
} else {
return (
.....render form here.....
);
}
}
}
export default Home;
Results.js (Компонент, который будет отображаться после отправки)
class Results extends Component {
render() {
return (
<div className="container">
<Button className="center-align">Show Product Price Per Place </Button>
<Button className="center-align">Show Sales Aggregation Per Place </Button>
</div>
);
}
}
export default Results;
Я перенаправил, если переменная is_success имеет значение true для пути show_parsed_results
.В моем маршрутизаторе я сопоставил этот путь с моим Results
компонентом.
Но при отправке страница перенаправляется, но она пуста.Его не берут код компонента Результаты вообще.Что мне здесь не хватает?
Я понимаю, что это может быть дубликатом Перенаправление при отправке формы , но я следовал точно такой же процедуре и не могу правильно выполнить перенаправление.Может ли помочь найти то, что мне здесь не хватает?
Заранее спасибо.
Редактировать: добавить структуру дерева и операторы импорта.
Структура дерева:
.
├── App.css
├── App.test.js
├── Home
│ └── index.js
├── Main
│ └── index.js
├── Results
│ └── index.js
├── api
│ └── index.js