首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redux-记录器不工作

Redux-记录器不工作
EN

Stack Overflow用户
提问于 2018-01-29 15:03:16
回答 2查看 6.4K关注 0票数 1

我连接不上记录器,我什么都试过了

代码语言:javascript
复制
import {createStore, applyMiddleware} from 'redux';
import promiseMiddleware from 'redux-promise';
import {hydrate} from 'drator';
import rootReducer from '../reducers';
import thunk from 'redux-thunk';
import {createLogger} from 'redux-logger';

const logger = createLogger();
const createStoreWithMiddleware = applyMiddleware(thunk, promiseMiddleware, logger)(createStore);
const state = hydrate('App');

export default createStoreWithMiddleware(rootReducer, state);

版本"redux-logger":"^3.0.6",

我已经使用了这个同构的Redux存储库https://github.com/ryardley/reduxor

EN

回答 2

Stack Overflow用户

发布于 2018-01-29 15:13:15

如果不测试它,我可能会错,因为您的帖子可以做更多细节,但看起来您调用createStoreapplyMiddleware函数的方式是错误的。

通常我是这样做的

代码语言:javascript
复制
import logger from 'redux-logger'
const store = createStore(
  reducer,
  applyMiddleware(logger)
)

这样,applyMiddleware就是createStore中的一个参数

请参阅此处以获取参考https://github.com/evgenyrodionov/redux-logger#usage

票数 1
EN

Stack Overflow用户

发布于 2018-01-29 15:51:16

这应该是可行的。使用compose来应用中间件。

代码语言:javascript
复制
import { compose, createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import logger from 'redux-logger';
import promiseMiddleware from 'redux-promise';


import rootReducer from '../reducers';

let store = null;

export default function configureStore(initialState = {}) {
  // Check to avoid multiple configured stores
  if (store) {
    return store;
  }
  const middlewares = [thunk, promiseMiddleware, logger];
  store = createStore(
    rootReducer,
    initialState,
    compose(applyMiddleware(...middlewares))
  );
  return store;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48496012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档