ReferenceError: 窗口未定义 (devToolsExtension)

The*_*eoG 0 reactjs

所以,我试图让“React Developer Tools”chrome 扩展程序知道我的应用程序,但我收到了上述错误。任何人都可以就解决此问题的最佳方法提出建议吗?

import configureMiddleware from './configureMiddleware';
import configureReducer from './configureReducer';
import configureStorage from './configureStorage';
import { applyMiddleware, createStore, compose } from 'redux';
import { persistStore, autoRehydrate } from 'redux-persist';

type Options = {
  initialState: Object,
  platformDeps?: Object,
  platformMiddleware?: Array<Function>,
};

const configureStore = (options: Options) => {
  const {
    initialState,
    platformDeps = {},
    platformMiddleware = [],
  } = options;

  const reducer = configureReducer(initialState);

  const middleware = configureMiddleware(
    initialState,
    platformDeps,
    platformMiddleware,
  );

  const enhancers = compose(
    window.devToolsExtension ? window.devToolsExtension() : f => f
  );

  const store = createStore(
    reducer,
    initialState,
    compose(
      applyMiddleware(...middleware),
      autoRehydrate(),
    ),
    enhancers,
  );
Run Code Online (Sandbox Code Playgroud)

Ram*_*shi 5

您是否有机会进行服务器端渲染?

当窗口不可用时,我可以想到的一个快速解决方法是添加另一个检查,如下所示:

const enhancers = compose(
 (typeof window !== 'undefined' && window.devToolsExtension) ? window.devToolsExtension() : f => f
);
Run Code Online (Sandbox Code Playgroud)