Как мне перемещаться вперед и назад с React Router v5? - PullRequest
0 голосов
/ 22 апреля 2020

Я могу обновить 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")
);

Заранее спасибо.

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