在没有传奇或笨拙的中间件的情况下使用react-redux是最佳实践吗?
我有一个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();
最佳答案
尽管似乎几乎每个人都使用这两个库中的一个来手动执行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