unitejs-packages
Version:
Packages for use with UniteJS.
49 lines (44 loc) • 1.06 kB
JSX
/**
* Example of rxjs usage.
*
* @export
* @class ExampleRxjs
*/
import React from "react";
import { fromEvent } from "rxjs";
import { bufferCount } from "rxjs/operators";
export class ExampleRxjs extends React.Component {
/**
* btn is the button from the template
* @type {Element}
*/
btn;
/**
* Creates an instance of ExampleRxjs.
*/
constructor(props, context) {
super(props, context);
this.state = { result1: undefined };
}
/**
* The component was mounted.
* @returns {void}
*/
componentDidMount() {
fromEvent(this.btn, "click")
.pipe(bufferCount(3))
.subscribe(() => {
this.setState({ result1: "Clicked 3 times!" });
});
}
/**
* Render the component.
* @returns {JSX.Element}
*/
render() {
return <div id="rxjs-example">
<button ref={(btn) => { this.btn = btn; }}>Click Me</button>
<span>{this.state.result1}</span>
</div>;
}
}