Angular Typescript错误-必须有一个';[Symbol.iterator]()';方法返回一个迭代器
我遇到了一个错误: 错误TS2488:类型“Usuario”必须具有“Symbol.iterator”方法 返回一个迭代器 我的代码: 常用减速机Angular Typescript错误-必须有一个';[Symbol.iterator]()';方法返回一个迭代器,angular,typescript,Angular,Typescript,我遇到了一个错误: 错误TS2488:类型“Usuario”必须具有“Symbol.iterator”方法 返回一个迭代器 我的代码: 常用减速机 export interface UsuarioState { users: Usuario[]; loaded: boolean; loading: boolean; error: any; } const initState: UsuarioState = { users: [], loaded:
export interface UsuarioState {
users: Usuario[];
loaded: boolean;
loading: boolean;
error: any;
}
const initState: UsuarioState = {
users: [],
loaded: false,
loading: false,
error: null
}
export function usuariosReducer(state = initState, action: fromUsuariosActions.usuariosAcciones): UsuarioState {
switch (action.type) {
case fromUsuariosActions.CARGAR_USUARIOS:
return {
...state,
loading: true
}
case fromUsuariosActions.CARGAR_USUARIOS_SUCCESS:
return {
...state,
loading: false,
loaded: true,
users:[...action.usuarios]
}
截图:
我在tsconfig.json文件中添加了“es5”、“dom.iterable”,但仍然不起作用,你能解释一下怎么了吗
惯常行为
import { Action } from '@ngrx/store';
import { Usuario } from '../../models/usuario.model';
export const CARGAR_USUARIOS = 'CARGAR_USUARIO'
export const CARGAR_USUARIOS_FAIL = 'CARGAR_USUARIO_FAIL'
export const CARGAR_USUARIOS_SUCCESS = 'CARGAR_USUARIO_SUCCESS'
export class CargarUsuarios implements Action {
readonly type = CARGAR_USUARIOS;
}
export class CargarUsuariosFail implements Action {
readonly type = CARGAR_USUARIOS_FAIL;
constructor(public payload: any) {}
}
export class CargarUsuariosSuccess implements Action {
readonly type = CARGAR_USUARIOS_SUCCESS;
constructor(public usuarios: Usuario) {}
}
export type usuariosAcciones = CargarUsuarios |
CargarUsuariosFail |
CargarUsuariosSuccess
usuario.model.ts
export class Usuario {
constructor(public id: number,
public first_name: string,
public last: string,
public avatar: string, ){
}
}
操作.usuario
是一个对象
,在扩展
操作符的规范中未定义将对象扩展到数组
。另外,users
属性需要一个Usuario
对象数组。因此,首先,您需要将对象扩展到另一个对象中,然后将其作为元素添加到数组中
。。。
USUARIOS actions.CARGAR\u USUARIOS\u成功案例:
返回{
……国家,
加载:false,
是的,
用户:[{…action.usuarios}]
}
...
能否显示通常情况下的类型定义?看起来像操作。usuarios
不保证是数组。UsuariosAciones的类型定义为:导出类型UsuariosAciones=CargarUsuarios | CargarUsuariosFail | CargarUsuariosAccess请共享来自usuariosactions.usuariosaccions
定义。您的Usuario
模型是什么样子的?是的。。请尝试[{…action.usuarios}]
。发生此错误的原因是users
属性需要一个Usuario
数组。