Skip to content

Instantly share code, notes, and snippets.

@kobzarvs
Last active January 18, 2022 17:50
Show Gist options
  • Save kobzarvs/03e85fee1f9134ff42a5b289243b214a to your computer and use it in GitHub Desktop.
Save kobzarvs/03e85fee1f9134ff42a5b289243b214a to your computer and use it in GitHub Desktop.
Простой пример использования effector-logger & effector-inspector без babel-plugin
import React from 'react';
import { useEvent, useStore } from 'effector-react';
import { $counter, dec, inc, reset } from './counter';
export const App = () => {
const counter = useStore($counter);
const api = useEvent({ inc, dec, reset });
return (
<div>
<h1>{counter}</h1>
<div>
<button onClick={() => api.dec()}> -</button>
<button onClick={() => api.inc()}> +</button>
<button onClick={() => api.reset()}>reset</button>
</div>
</div>
);
};
import { domain } from './domain';
export const $counter = domain.createStore<number>(0, { name: 'counter' });
export const inc = domain.createEvent('inc');
export const dec = domain.createEvent('dec');
export const reset = domain.createEvent('reset');
$counter
.on(inc, state => state + 1)
.on(dec, state => state - 1)
.reset(reset);
// @ts-ignore
import { attachLogger } from 'effector-logger/attach';
import { createDomain } from 'effector';
export const domain = createDomain();
attachLogger(domain, {
reduxDevtools: 'enabled',
console: 'enabled',
inspector: 'enabled',
});
import React from 'react';
import ReactDOM from 'react-dom';
import { createInspector } from 'effector-inspector';
import { App } from './app';
createInspector();
ReactDOM.render(
<App />,
document.getElementById('root'),
);
@kobzarvs
Copy link
Author

kobzarvs commented Jan 5, 2022

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment