- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
' "-6ren"> ' "-我是 Immutable.js 和 Redux(以及 Angular2)的(相当)新手,在标题中收到错误(setIn 和 getIn 都收到错误)。错误来 self 的 store.ts。这是简短的版-6ren">
我是 Immutable.js 和 Redux(以及 Angular2)的(相当)新手,在标题中收到错误(setIn 和 getIn 都收到错误)。错误来 self 的 store.ts。这是简短的版本:
import { Action as reduxAction, Reducer, combineReducers } from 'redux';
import { ActionActions } from './actions/action.actions';
import { UserActions } from './actions/user.actions';
import { MetaActions } from './actions/meta.actions';
import { Action } from './app/library/action/class.action';
import * as Immutable from 'immutable';
import 'rxjs/add/operator/map';
export interface IAppState {
action: IActionState
}
export interface IActionState {
action?: Map<any, any>
}
export const INITIAL_STATE: IAppState = {
action: {
action: null
}
}
export function actionReducer(lastState: IActionState, action)
{
// Initial action state
if (undefined === lastState) {
lastState = {
action: null
}
}
// Switching
switch(action.type)
{
case ActionActions.REMOVE_EMPLOYEE:
{
return { action: lastState.action.setIn(['employees', action.value.role],
lastState.action.getIn(['employees', action.value.role])
.filter(o => o.getIn(['employee','employeeId']) !== action.value.employeeId)) };
}
}
return { action: lastState.action }
}
(请不要混淆我正在处理的对象也恰好被命名为“action”。这在 Redux 的上下文中有点不吉利,但在应用程序的上下文中确实有意义。 )
当编译器(转译器?)在终端中运行时,我在标题中收到错误,但当我运行网站时脚本运行正常。完全没有问题。只是终端中的错误。
如果我尝试在操作对象上运行 Immutable.map.isMap(),它会返回 true。方法 get() 和 set() 似乎也存在于对象上。
所以如果它实际上是一个 Map 并且 set() 和 get() 有效——为什么 setIn() 和 getIn() 不行呢?需要明确的是 - 它们确实有效 - 非常完美。我只是在终端中收到一个错误。
我可以在应用程序的其他地方使用 setIn() 和 getIn()。即使在同一个物体上。那么为什么不在 store.ts 中呢?我的进口有问题吗?
最佳答案
好的 - 在前额和墙壁之间进行了多次密集 session 之后,我似乎已经自己解决了这个问题。
我这样导入了 Immutable.js 库:
import * as Immutable from 'immutable';
然后我像这样实例化了对象的(接口(interface)):
action?: Map<any, any>
应该是什么时候
action?: Immutable.Map<any, any>
显然这可行。
这对某些人来说似乎很明显,但我被抛弃了,因为 Immutable.map.isMap() 评估为真。
关于angular - 错误 : "Property ' setIn' does not exist on type 'Map<any, any>' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46987377/
我的问题是,在此结构中使用不可变: myMap = Map({a: [], b: []}); myMAp.setIn(['a', 0], 'v'); 这是一个异常 immutable.js:870 U
我有一个不可变的对象: let mutableObject = { test: { test2: { a:1, b:2, c:3 } } }; 我需要使用 setIn() 函数在 tes
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: java: "final" System.out, System.in and System.err? 这只
我有以下对象: const initialState = Map({ posts: { most_popular: [], trending: [], latest: []
我只是在Immutable.js下测试下面的代码Chrome 版本 50 中的 docs 控制台,但它发出错误消息:Uncaught Error: invalid keyPath(...) var m
好的,我有一个对象列表,非常标准。 const list = Immutable.List([{type:'thang',data:{id:'pants'}}]); 现在我想把裤子换成短裤……所以我在
我有这个代码: let toDayKey = toDayKey.toString(); // 1 const deptId = deptId.toString(); // 3 const
当我为 System.Console 类编写适配器时,这让我印象深刻。为什么 In、Out 和 Error 属性与 SetIn、SetOut 配对和 SetError 方法?为什么不改用属性的 set
我一定是遗漏了什么,因为 Docs让它看起来好像下面的代码应该工作得很好但是我得到一个无效的键路径错误...检查this codepen . var map1 = Immutable.Map({ 's
我是 Immutable.js 和 Redux(以及 Angular2)的(相当)新手,在标题中收到错误(setIn 和 getIn 都收到错误)。错误来 self 的 store.ts。这是简短的版
我需要在某个时候使用 Map.setIn 方法创建列表。问题是,当我在路径中指定索引时,它不理解我正在使用 List。以下示例不起作用: let data = new Map().setIn(['pe
我在一些 react-redux 代码中看到了 setIn() 和 set() 的使用: state.setIn(...); state.set(...); 我在这里找到了一些文档 https://f
我是一名优秀的程序员,十分优秀!