@@ -2,7 +2,7 @@ import React from "react";
2
2
import ReactDOM from "react-dom" ;
3
3
import { Subject } from "rxjs" ;
4
4
import { scan } from "rxjs/operators" ;
5
- import { bind } from "@react-rxjs/core" ;
5
+ import { state , useStateObservable } from "@react-rxjs/core" ;
6
6
7
7
const A = [
8
8
"pretty" ,
@@ -86,7 +86,7 @@ const onSwap = () => rowEvents$.next({ type: "swap" });
86
86
const onRemove = ( payload ) => rowEvents$ . next ( { type : "remove" , payload } ) ;
87
87
88
88
const init = [ ] ;
89
- const [ useItems ] = bind (
89
+ const items$ = state (
90
90
rowEvents$ . pipe (
91
91
scan ( ( data , action ) => {
92
92
switch ( action . type ) {
@@ -126,7 +126,7 @@ const selected$ = new Subject();
126
126
const onSelect = ( id ) => {
127
127
selected$ . next ( id ) ;
128
128
} ;
129
- const [ useSelectedId ] = bind ( selected$ , 0 ) ;
129
+ const selectedId$ = state ( selected$ , 0 ) ;
130
130
131
131
const GlyphIcon = (
132
132
< span className = "glyphicon glyphicon-remove" aria-hidden = "true" > </ span >
@@ -148,8 +148,8 @@ const Row = React.memo(({ item, isSelected }) => {
148
148
} ) ;
149
149
150
150
const RowList = ( ) => {
151
- const rows = useItems ( ) ;
152
- const selecteId = useSelectedId ( ) ;
151
+ const rows = useStateObservable ( items$ ) ;
152
+ const selecteId = useStateObservable ( selectedId$ ) ;
153
153
return rows . map ( ( item ) => (
154
154
< Row key = { item . id } item = { item } isSelected = { selecteId === item . id } />
155
155
) ) ;
0 commit comments