Reaksiyona yeni başlıyorum ve tepki yönlendiricisi ile redux öğrenmek için çalışıyorum. Rotaları ayrı bir dosya olarak istiyorum. Ancak bir şekilde çalışmıyor çünkü bağımlılıkları geçemiyorum. Aşağıdaki kod ayrıntıları. yanı yollara sahip olmanınyönlendirici kodunu ayrı bir dosyaya dönüştürür
Çalışma index.js:
import React from "react";
import ReactDOM from "react-dom";
import { Provider } from 'react-redux';
import {ReduxRouter} from "redux-react-router";
import {Route} from "react-router"
import createBrowserHistory from "history/lib/createBrowserHistory"
import configureStore from './store';
import App from "./containers/App";
import Home from "./components/Home";
import Countries from "./components/Countries";
import {fetchData} from './actions/actions';
const history = new createBrowserHistory();
const store = configureStore();
function loadData() {
store.dispatch(fetchData('https://restcountries.eu/rest/v1/all'))
}
ReactDOM.render(
<Provider store={store}>
<ReduxRouter>
<Route history={history}>
<Route component={App}>
<Route path='/' component={Home} />
<Route path='/countries' component={Countries} onEnter={loadData} />
</Route>
</Route>
</ReduxRouter>
</Provider>,
document.getElementById('root')
);
ardından Ayrı routes.js olarak
index.js
import 'babel-core/polyfill';
import React from "react";
import ReactDOM from "react-dom";
import { Provider } from 'react-redux';
import {ReduxRouter} from "redux-react-router";
import {Route} from "react-router"
import createBrowserHistory from "history/lib/createBrowserHistory"
import configureStore from './store';
import routes from "./routes";
import {fetchData} from './actions/actions';
const history = new createBrowserHistory();
const store = configureStore();
ReactDOM.render(
<Provider store={store}>
<ReduxRouter>
<Route history={history} routes={routes}>
</Route>
</ReduxRouter>
</Provider>,
document.getElementById('root')
);
yolları bölmek çalıştı koddur. js
import React from "react";
import { Provider } from 'react-redux';
import {ReduxRouter} from "redux-react-router";
import {Route} from "react-router"
import App from "./../containers/App";
import Home from "./../components/Home";
import Countries from "./../components/Countries";
const router =
<Route history={history}>
<Route component={App}>
<Route path='/' component={Home} />
<Route path='/countries' component={Countries} onEnter={loadData} />
</Route>
</Route>;
export default router;
Ancak, loadData işlevini tanımlayamadığı için hata atıyor.
LütfenYardım edin. Bir çocuk olarak
Neden LoadData yöntemini (ve bağımlılıklarını yanı gibi mağaza, configureStore, fetchData) routes.js için hareket etmiyor? – Areca
bcz "store" aynı zamanda –
joy
olarak üstteki'un bir parçasıdır. Daha sonra hem index.js hem de route.js –
Areca