import * as React from 'react'
import {Observable, timer} from 'rxjs'
import {map, startWith} from 'rxjs/operators'
import {createEventHandler} from '../../createEventHandler'
import {WithObservable} from '../../WithObservable'
const justNumbers$ = timer(0, 500)
const numberReactElement$ = justNumbers$.pipe(map(num =>
The number is {num}
))
const [onSpeedChange$, onSpeedChange] = createEventHandler<
React.SyntheticEvent
>()
const speed$: Observable = onSpeedChange$.pipe(
map(event => Number(event.currentTarget.value)),
startWith(1000)
)
export const WithObservableExample = () => (
<>
An observable of react elements
An observable with child as render func
{num => <>The number is {num}>}
Nested
You can adjust the update speed by changing update interval below
{(speed: number) => (
<>
Update interval:
Update {n}
))} />
>
)}
>
)