Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Typescript错误-必须有一个';[Symbol.iterator]()';方法返回一个迭代器_Angular_Typescript - Fatal编程技术网

Angular Typescript错误-必须有一个';[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:

我遇到了一个错误:

错误TS2488:类型“Usuario”必须具有“Symbol.iterator”方法 返回一个迭代器

我的代码:

常用减速机

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
数组。