Передача состояния в компонент c и использование переменной для отображения.
Новое в React на унаследованной кодовой базе.
в Routes.js
у нас есть
componentDidMount() {
...catching an error ...
this.setState({ serverError: true, errorStack: err.response.data.stack, errorMsg: err.response.data.message });
}
позже у нас есть:
render() {
return (
<BrowserRouter>
<ScrollToTop>
<Switch>
{
this.state.serverError ?
<Route component={Page500} />
, а затем у нас есть страница 500. js
import React from "react";
import { Button } from "reactstrap";
const Page500 = (props) => (
<div className="text-center">
<h1 className="display-1 font-weight-bold">500</h1>
<p className="h1">Internal server error.</p>
<p className="h2 font-weight-normal mt-3 mb-4">
The server encountered something unexpected that didn't allow it to
complete the request. <br />
Error: {props.errorMsg}
</p>
<a href=".">
<Button color="primary" size="lg">
Return to website
</Button>
</a>
</div>
);
export default Page500;
Я пытаюсь напечатать errorMsg
в функции Page500, но для некоторых причина ничего не работает, даже "это" не определено и не уверен, как читать состояние из маршрутов.