Я могу обновить sh своих страниц, но когда я использую кнопки назад и вперед в chrome, мое приложение разрывается. Я получаю эту ошибку: Uncaught TypeError: this.props.cars.map не является функцией. Я очень новичок в React Router и чувствую, что это легко исправить.
Это мой компонент приложения:
import React, { Component } from "react";
import { BrowserRouter, Route, Switch } from "react-router-dom";
import CarsIndex from "../containers/cars_index";
import CarNew from "../containers/car_new";
import CarShow from "../containers/car_show";
import Error from "./error";
function App() {
return (
<Switch>
<Route path="/" component={CarsIndex} exact />
<Route path="/new" component={CarNew} />
<Route path="/show/:id" component={CarShow} />
<Route component={Error} />
</Switch>
);
}
export default App;
и это мой index.jsx:
import React, { Component } from "react";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import { createStore, combineReducers, applyMiddleware } from "redux";
import reduxPromise from "redux-promise";
import logger from "redux-logger";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import { createBrowserHistory } from "history";
import "../assets/stylesheets/application.scss";
import App from "./components/app";
import carsReducer from "./reducers/cars_reducer.jsx";
const initialState = {
garage: "lenny",
cars: [],
};
const reducers = combineReducers({
garage: (state = null, action) => state,
cars: carsReducer,
});
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const middleWares = composeEnhancers(applyMiddleware(logger, reduxPromise));
// render an instance of the component in the DOM
ReactDOM.render(
<Provider store={createStore(reducers, initialState, middleWares)}>
<Router>
<App />
</Router>
</Provider>,
document.getElementById("root")
);
Заранее спасибо.