import React from 'react'
import ReactDOM from 'react-dom'
import {createEffect, createStore} from 'effector'
import {createComponent} from 'effector-react'
const asyncAction = createEffect('your async action')
asyncAction.use(url => fetch(url).then(req => req.json()))
const currentUser = createStore(null)
    .on(asyncAction.done, (state, {result}) => result.username)
const CurrentUser = createComponent(
  currentUser, (props, user) => user
    ? <div>current user: {user}</div>
    : <div>no current user</div>
  )
const url = 'https://gist.githubusercontent.com/zerobias/24bc72aa8394157549e0b566ac5059a4/raw/b55eb74b06afd709e2d1d19f9703272b4d753386/data.json' 
const node = document.createElement('div')
document.body.appendChild(node)
ReactDOM.render(<>
  <button onClick={() => asyncAction(url)}>load user</button>
  <CurrentUser/>  
</>, node)