我的index.tsx.出现了这个错误
类型Windows中不存在属性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扩展,我正在使用create react app typescript。非常感谢你提前告诉我发生了什么事。
我对这个问题的态度如下:
export const composeEnhancers =
(window && (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose;
使用TypeScript
最简化的方法是使用redux devtools扩展并作为开发依赖项安装,如下所示:
npm install --save-dev redux-devtools-extension
对于那些新来的redux
和这些开发工具的下一步是混乱和不清楚的。文档都有如下代码:
const store = createStore(reducer, composeWithDevTools(
applyMiddleware(...middleware),
// other store enhancers if any
));
问题是我没有配置任何中间件,因此无法正常工作。在最原始的用法中,这就是您所需要的:
import { composeWithDevTools } from 'redux-devtools-extension';
const store = createStore(myReducer, composeWithDevTools());
此时,如果在浏览器中单击扩展,并且存在有效的redux存储,则可以检查状态。
这是使用(任何窗口)
的另一种方法,并且还明确了如何以最小的形式使用redux devtools扩展。
这是这个问题的一个特例。Redux不提供\uuuuu Redux\u DEVTOOLS\u EXTENSION\u COMPOSE\uuuuu
的类型,因为此函数是由Redux DEVTOOLS公开的,而不是Redux本身。
要么是:
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;
这已经通过包含TypeScript类型的redux-devices-扩展名
包完成了。如果已安装,则应使用其导入,而不是手动访问__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
。
我尝试开始使用TypeScript 2.4.1在我的旧AngularJS项目。首先,我试图重构我的简单控制器ts。在控制器上,我在编译过程中使用匿名函数获取
我使用的是完全修补过的Visual Studio 2013。我正在尝试使用JQuery、JQueryUI和JSRender。我也在尝试使用打字。在ts文件中,我得到如下错误: 类型“{}”上不存在属性“fade div”。
我试图在登录过程后获得连接的用户模型, 首先,在CanActivate guard检查了带有用户JSON对象的本地存储并发现该对象为空之后,用户将重定向到“/login”URL 然后用户登录并重定向回根URL“/”,在连接过程中我使用AuthService,它将从服务器返回的用户对象保存在用户模型中 这是我的守卫:
升级到Angular 6.0和Rxjs到6.0后,我收到以下编译错误:
获取错误:(类型窗口中不存在属性“MktoForms2”
我试图在TypeScript中使用“时刻-持续时间格式”,但即使它有效,webpack仍不断抱怨它无法在线找到“格式”方法: 这里是package.json tsconfig.json: 在(angular2)组件中: 我也试过了 但这并不能改变什么: [at-loader]./src/app/组件/建筑/商店/shop.component.ts:190中的错误:81 TS2339:属性“格式”在