重构 mapPropsToStream 打字稿
Recompose mapPropsToStream typescript
我正在尝试在 typescript 上编写组件,它将用 rxjs 实现 onChange 替换 props 中的 onChange,就像这样
this.onChangeSubscription = this.onChange$
.debounceTime(200)
.filter(value => value.length !== 1)
.distinctUntilChanged()
.subscribe(value => this.props.onChange(value))
当我尝试使用 pluck 函数时出现错误:
属性 'pluck' 在类型 Subscribable<'Props'>
上不存在
const Filter = mapPropsStream<Props,Props>((props$) => {
const a = props$.pluck('onChange');
// newProps created
return newProps$;
})(Component);
导入包含
import 'rxjs/add/operator/pluck';
您正在使用 RxJS,但是 recompose
对于可观察的实现并没有自以为是 can be configured 与许多其他库一起工作。
即使配置到位,TypeScript 也会将 props$
视为非 RxJS 类型。要解决这个问题,您可以使用特定的类型断言,或者您可以使用 RxJS from
函数:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
const Filter = mapPropsStream<Props,Props>((props$) => {
const a = Observable.from(props$).pluck('onChange');
// newProps created
return newProps$;
})(Component);
我正在尝试在 typescript 上编写组件,它将用 rxjs 实现 onChange 替换 props 中的 onChange,就像这样
this.onChangeSubscription = this.onChange$
.debounceTime(200)
.filter(value => value.length !== 1)
.distinctUntilChanged()
.subscribe(value => this.props.onChange(value))
当我尝试使用 pluck 函数时出现错误:
属性 'pluck' 在类型 Subscribable<'Props'>
上不存在 const Filter = mapPropsStream<Props,Props>((props$) => {
const a = props$.pluck('onChange');
// newProps created
return newProps$;
})(Component);
导入包含
import 'rxjs/add/operator/pluck';
您正在使用 RxJS,但是 recompose
对于可观察的实现并没有自以为是 can be configured 与许多其他库一起工作。
即使配置到位,TypeScript 也会将 props$
视为非 RxJS 类型。要解决这个问题,您可以使用特定的类型断言,或者您可以使用 RxJS from
函数:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
const Filter = mapPropsStream<Props,Props>((props$) => {
const a = Observable.from(props$).pluck('onChange');
// newProps created
return newProps$;
})(Component);