类型的论证' void'不能分配给' Action'类型的参数。

时间:2016-11-22 04:20:57

标签: typescript visual-studio-code

我是新手稿并使用VSCode。

获得以下错误:

* [ts]类型的论点' void'不能分配给' Action'类型的参数。 (参数)动作:无效

代码:

  loadItems() {
    return this.Apiname.find()
        .map(
        (data) => console.log("data:", data)
        )
        .map(
        payload => ({
            type: 'LOAD_ITEMS',
            payload: payload
        },
        )
        )
        .subscribe(
        action => this._store.dispatch(action)//Error
        );
};

任何帮助都会非常有帮助。

1 个答案:

答案 0 :(得分:3)

您的map语句包含尾随 , ,这可能是问题所在。我会像那样调整代码:

return this.Apiname.find()
    .do( (data) => console.log("data:", data) )
    .map(
        payload => ({
            type: 'LOAD_ITEMS',
            payload: payload
        //},)
        })
    )
    .subscribe(
        action => this._store.dispatch(action) // no error
    );

现在action的类型为{ type: string, payload: ... }

注意:对于副作用,例如使用console.log打印,ReactiveX提供 .do 运算符 - 请参阅http://reactivex.io/documentation/operators/do.html