在 React 中使用 rxjs 绑定事件
因为React本身API的关系,如果我们想要用React自定义的事件,我们没办法直接使用 Observable的 creation operator 建立 observable,这时就可以靠Subject来做到这件事。
class MyButton extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
this.subject = new Rx.Subject();
this.subject
.mapTo(1)
.scan((origin, next) => origin + next)
.subscribe((x) => {
this.setState({ count: x });
});
}
render() {
return (
<button onClick={(event) => this.subject.next(event)}>
{this.state.count}
</button>
);
}
}