Попробуйте настроить компонент App.js
следующим образом:
import React from "react";
import { BrowserRouter, Route } from "react-router-dom";
import Home from "./components/common/Home";
Обратите внимание, я не использовал react-router
, я использовал react-router-dom
, это то, что вы должны использовать.react-router
- это основная или базовая библиотека, которая поддерживает react-router-dom
и react-router-dom-native
.используйте react-router-dom
.
Обратите внимание, у меня нет настроек store
, Provider
, мы оставим это для вашего корневого index.js
файла.Теперь остальная часть вашего App
компонента будет выглядеть следующим образом:
const App = () => {
render() {
return (
<div className="ui container">
<BrowserRouter>
<div>
<Route path="/" exact component={Home} />
</div>
</BrowserRouter>
);
}
}
export default App;
Теперь перейдем к корневому index.js
файлу:
import React from "react";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import { createStore } from "redux";
import App from "./components/App";
import reducers from "./reducers";
const store = createStore(reducers);
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.querySelector("#root")
);
Вот куда вы поместите свой Provider
и store
.Я просто устранил необходимость в файле store.js
, не обязательно.
Теперь внутри вашего первого редуктора, так как вам нужно какой-то тип редуктора для загрузки вашего приложения, а не для сбоя, вы можете просто написать его таквнутри reducers/index.js
:
import { combineReducers } from "redux";
export default combineReducers({
replaceMe: () => "howdy"
});
Теперь у вас есть полностью работающее безошибочное приложение React-Redux, вы можете двигаться вперед со своим проектом.