我是新手稿并使用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
);
};
任何帮助都会非常有帮助。
答案 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