Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

el-frontend/fluvx

Repository files navigation

CI codecov npm version Commitizen friendly License

Fluvx

Fluvx

Fluvx is a stage manager inspired in Vuex API and base on Reactivity API from Vue 3. Its main goal is simplicity and for this it provides composable functions to create stores in a simple way. It is written in Typescript and has full support.

How install

yarn add fluvx

How to use

Declare a store

// import composable function and Context Interface
import { StoreContext, createStore } from "fluvx";
// create store interface
interface OurState {
 count: number;
 person: {
 firstName: string;
 };
}
const initState: OurState = {
 count: 1,
 person: {
 firstName: 'Fluvx'
 }
}
const store = createStore<OurState>({
 state: initState,
 mutations: {
 increment(state: OurState, n: number) {
 state.count += n;
 }
 },
 actions: {
 increment({ commit }: StoreContext<OurState>, payload: unknown) {
 commit("increment", payload);
 }
 }
 getters: {
 multByTwo(state: OurState): number {
 return state.count * 2;
 }
 }
 });

Add to the main component as a provider

...
export default defineComponent({
 name: "App",
 setup() {
 provide("store", store);
 return { store };
 },
});
...

Inject the store into the child component

...
import { StoreContext } from "fluvx";
export default defineComponent({
 name: "ChildComponent",
 setup() {
 const store = inject<StoreContext<OurState>>("store");
 return { store };
 },
});
...

License

MIT

Copyright (c) 2021-present Carlos Chao

Keyworks

stage manager, vue 3, vue, reactivity, vuex, composable

About

Fluvx is a stage manager inspired in Vuex API and base on Reactivity API from Vue 3

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /