#85: drop react-router-redux dependency

This commit is contained in:
SleepWalker 2017-05-08 22:34:50 +03:00
parent 2dda41ccce
commit 6f4eb97b48
9 changed files with 19 additions and 27 deletions

5
npm-shrinkwrap.json generated
View File

@ -6172,11 +6172,6 @@
"from": "react-router@3.0.5", "from": "react-router@3.0.5",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-3.0.5.tgz" "resolved": "https://registry.npmjs.org/react-router/-/react-router-3.0.5.tgz"
}, },
"react-router-redux": {
"version": "3.0.0",
"from": "react-router-redux@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/react-router-redux/-/react-router-redux-3.0.0.tgz"
},
"react-side-effect": { "react-side-effect": {
"version": "1.1.0", "version": "1.1.0",
"from": "react-side-effect@>=1.1.0 <2.0.0", "from": "react-side-effect@>=1.1.0 <2.0.0",

View File

@ -39,7 +39,6 @@
"react-motion": "^0.4.0", "react-motion": "^0.4.0",
"react-redux": "^5.0.0", "react-redux": "^5.0.0",
"react-router": "^3.0.0", "react-router": "^3.0.0",
"react-router-redux": "^3.0.0",
"redux": "^3.0.4", "redux": "^3.0.4",
"redux-localstorage": "^0.4.1", "redux-localstorage": "^0.4.1",
"redux-thunk": "^2.0.0", "redux-thunk": "^2.0.0",

View File

@ -1,4 +1,4 @@
import { routeActions } from 'react-router-redux'; import { browserHistory } from 'react-router';
import { sessionStorage } from 'services/localStorage'; import { sessionStorage } from 'services/localStorage';
import authentication from 'services/api/authentication'; import authentication from 'services/api/authentication';
@ -124,7 +124,7 @@ export function logoutAll() {
dispatch(reset()); dispatch(reset());
dispatch(routeActions.push('/login')); browserHistory.push('/login');
return Promise.resolve(); return Promise.resolve();
}; };

View File

@ -1,4 +1,4 @@
import { routeActions } from 'react-router-redux'; import { browserHistory } from 'react-router';
import logger from 'services/logger'; import logger from 'services/logger';
import localStorage from 'services/localStorage'; import localStorage from 'services/localStorage';
@ -25,9 +25,9 @@ export { authenticate, logoutAll as logout } from 'components/accounts/actions';
*/ */
export function goBack(fallbackUrl = null) { export function goBack(fallbackUrl = null) {
if (history.canGoBack()) { if (history.canGoBack()) {
return routeActions.goBack(); browserHistory.goBack();
} else if (fallbackUrl) { } else if (fallbackUrl) {
return routeActions.push(fallbackUrl); browserHistory.push(fallbackUrl);
} }
return { return {
@ -125,8 +125,10 @@ export function register({
username, username,
email email
})); }));
dispatch(needActivation()); dispatch(needActivation());
dispatch(routeActions.push('/activation'));
browserHistory.push('/activation');
}) })
.catch(validationErrorsHandler(dispatch)) .catch(validationErrorsHandler(dispatch))
); );

View File

@ -42,14 +42,14 @@ class ProfilePage extends Component {
} }
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { routeActions } from 'react-router-redux'; import { browserHistory } from 'react-router';
import { fetchUserData } from 'components/user/actions'; import { fetchUserData } from 'components/user/actions';
import { create as createPopup } from 'components/ui/popup/actions'; import { create as createPopup } from 'components/ui/popup/actions';
import PasswordRequestForm from 'components/profile/passwordRequestForm/PasswordRequestForm'; import PasswordRequestForm from 'components/profile/passwordRequestForm/PasswordRequestForm';
export default connect(null, { export default connect(null, {
goToProfile() { goToProfile() {
return routeActions.push('/'); return browserHistory.push('/');
}, },
fetchUserData, fetchUserData,
onSubmit: ({form, sendData}) => (dispatch) => { onSubmit: ({form, sendData}) => (dispatch) => {

View File

@ -1,7 +1,5 @@
import { combineReducers } from 'redux'; import { combineReducers } from 'redux';
import { routeReducer } from 'react-router-redux';
import auth from 'components/auth/reducer'; import auth from 'components/auth/reducer';
import user from 'components/user/reducer'; import user from 'components/user/reducer';
import accounts from 'components/accounts/reducer'; import accounts from 'components/accounts/reducer';
@ -15,6 +13,5 @@ export default combineReducers({
user, user,
accounts, accounts,
i18n, i18n,
popup, popup
routing: routeReducer
}); });

View File

@ -1,4 +1,4 @@
import { routeActions } from 'react-router-redux'; import { browserHistory } from 'react-router';
import logger from 'services/logger'; import logger from 'services/logger';
import localStorage from 'services/localStorage'; import localStorage from 'services/localStorage';
@ -40,7 +40,8 @@ export default class AuthFlow {
if (this.replace) { if (this.replace) {
this.replace(route); this.replace(route);
} }
store.dispatch(routeActions[options.replace ? 'replace' : 'push'](route));
browserHistory[options.replace ? 'replace' : 'push'](route);
} }
this.replace = null; this.replace = null;

View File

@ -5,15 +5,11 @@ import { createStore, applyMiddleware, compose } from 'redux';
// или даже вообще его не запускать в зависимости от условий // или даже вообще его не запускать в зависимости от условий
import thunk from 'redux-thunk'; import thunk from 'redux-thunk';
import persistState from 'redux-localstorage'; import persistState from 'redux-localstorage';
import { syncHistory } from 'react-router-redux';
import { browserHistory } from 'react-router';
import reducers from 'reducers'; import reducers from 'reducers';
export default function storeFactory() { export default function storeFactory() {
const reduxRouterMiddleware = syncHistory(browserHistory);
const middlewares = applyMiddleware( const middlewares = applyMiddleware(
reduxRouterMiddleware,
thunk thunk
); );
const persistStateEnhancer = persistState([ const persistStateEnhancer = persistState([

View File

@ -1,7 +1,7 @@
import expect from 'unexpected'; import expect from 'unexpected';
import sinon from 'sinon'; import sinon from 'sinon';
import { routeActions } from 'react-router-redux'; import { browserHistory } from 'react-router';
import logger from 'services/logger'; import logger from 'services/logger';
import { InternalServerError } from 'services/request'; import { InternalServerError } from 'services/request';
@ -292,10 +292,12 @@ describe('components/accounts/actions', () => {
}); });
sinon.stub(authentication, 'logout').named('authentication.logout'); sinon.stub(authentication, 'logout').named('authentication.logout');
sinon.stub(browserHistory, 'push').named('browserHistory.push');
}); });
afterEach(() => { afterEach(() => {
authentication.logout.restore(); authentication.logout.restore();
browserHistory.push.restore();
}); });
it('should call logout api method for each account', () => { it('should call logout api method for each account', () => {
@ -317,8 +319,8 @@ describe('components/accounts/actions', () => {
it('should redirect to /login', () => it('should redirect to /login', () =>
logoutAll()(dispatch, getState).then(() => { logoutAll()(dispatch, getState).then(() => {
expect(dispatch, 'to have a call satisfying', [ expect(browserHistory.push, 'to have a call satisfying', [
routeActions.push('/login') '/login'
]); ]);
}) })
); );