使用react-redux而不使用saga或thunk中间件是一种最佳实践吗?
我有一个react-redux应用程序,但它没有任何这些中间件。这是我现在拥有的代码。
import React from 'react';
import ReactDOM from 'react-dom';
import allReducers from './app/reducers/index';
import Header from './app/components/header';
import './index.css';
import { createStore, applyMiddleware } from 'redux';
import logger from 'redux-logger';
import { Provider } from 'react-redux';
import registerServiceWorker from './registerServiceWorker';
const store = createStore(allReducers, {}, applyMiddleware(logger));
ReactDOM.render(
<Provider store={store}>
<Header />
</Provider>
, document.getElementById('root'));
registerServiceWorker();发布于 2018-01-10 01:22:50
虽然看起来几乎每个人都在使用这两个库在redux中轻松地异步操作,但完全可以在没有redux的情况下进行管理,只需编写自己的redux中间件即可。有几件事需要牢记,但除此之外,它是极其简单的。
它看起来像什么的一个例子
/**
* Auth middleware
*/
export const authMiddleware: Middleware = <State>({ getState, dispatch }) => next => action => {
if (isType(action, actions.authExpired)) {
refreshToken()
.then(token => {
setSession(token, true);
})
.catch(e => console.log('Silent auth error', e));
}
return next(action);
}有关编写中间件https://redux.js.org/docs/advanced/Middleware.html的文档
https://stackoverflow.com/questions/48169707
复制相似问题