在 React 中使用 rxjs 绑定事件

因为React本身API的关系,如果我们想要用React自定义的事件,我们没办法直接使用 Observable的 creation operator 建立 observable,这时就可以靠Subject来做到这件事。
更新于: 2021-11-19 14:43:16
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>
    );
  }
}