add createService (#6)

This commit is contained in:
Kilin Mikhail
2020-12-26 00:20:01 +03:00
committed by GitHub
parent fd79931b16
commit 6d605cd325
4 changed files with 63 additions and 6 deletions

View File

@ -2,16 +2,39 @@ import React, {memo} from 'react';
import {AuthService} from '../../../../services/AuthService';
import {useStream} from '../../../../utils/useStream';
import ComponentStream from '../component-stream/ComponentStream';
import {createService} from '../../../../utils/createService';
const service = createService(1, {
changeWithStr: (state: number, val: string) => {
const parsedNumber = Number(val);
if (Number.isNaN(val)) {
return state;
}
return parsedNumber;
},
add: (state: number) => {
return state + 1;
},
sub: (state: number) => {
return state - 1;
}
});
const MainPage: React.FC = () => {
const {isAuth} = useStream(AuthService.state$, AuthService.initState);
const toggle = () => AuthService.handleChangeAuth(!isAuth);
const data = useStream(service.stream$, 0);
return (
<div>
Main Page
Auth: {isAuth ? 'yes' : 'no'}
<button onClick={toggle}>click</button>
<ComponentStream />
<div>{data}</div>
<button onClick={service.actions.add}>Add</button>
<button onClick={service.actions.sub}>Sub</button>
</div>
);
};