我在index.tsx上收到此错误。
属性“ REDUX_DEVTOOLS_EXTENSION_COMPOSE ”在类型“窗口”上不存在。
这是我的index.tsx代码:
import * as React from 'react'; import * as ReactDOM from 'react-dom'; import App from './App'; import './index.css'; import registerServiceWorker from './registerServiceWorker'; import { Provider } from 'react-redux'; import { createStore, compose, applyMiddleware } from 'redux'; import rootReducer from './store/reducers'; import thunk from 'redux-thunk'; const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const store = createStore(rootReducer, composeEnhancers( applyMiddleware(thunk) )); ReactDOM.render( <Provider store={store}><App /></Provider>, document.getElementById('root')); registerServiceWorker();
我已经安装了@ types / npm install –save-dev redux-devtools-extension,并且正在使用create- react-app-typescript。非常感谢您提前进行的任何提示。
这是这个问题)的特例。Redux不提供类型,__REDUX_DEVTOOLS_EXTENSION_COMPOSE__因为Redux DevTools公开了该功能,而不是Redux本身。
__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
可能是:
const composeEnhancers = window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] as typeof compose || compose;
要么:
declare global { interface Window { __REDUX_DEVTOOLS_EXTENSION_COMPOSE__?: typeof compose; } } const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
这已经由redux-devtools-extension包含TypeScript类型的包完成。如果已安装,则应使用其导入,而不是__REDUX_DEVTOOLS_EXTENSION_COMPOSE__手动访问。
redux-devtools-extension