Redux for Svelte 3
npm install svelte3-redux


Redux for Svelte 3
This is an experimental project to combine Redux and Svelte3.
It provides the same state usage tracking support
in reactive-react-redux.
``bash`
npm install svelte3-redux
This is simple usage.
Reactivity works for all components.
`html
Usage (bindTracked)
This is recommended usage.
Reactivity works based on state usage tracking.
$3
`javascript
import { createStore } from 'redux';
import { bindTracked } from 'svelte3-redux';const initialState = {
count: 0,
text: 'hello',
};
const reducer = (state = initialState, action) => {
switch (action.type) {
case 'increment': return { ...state, count: state.count + 1 };
case 'decrement': return { ...state, count: state.count - 1 };
case 'setText': return { ...state, text: action.text };
default: return state;
}
};
const store = createStore(reducer);
export default () => bindTracked(store);
`$3
`html
Counter
Count: {$state.count}
`$3
`html
TextBox
Text: {$state.text}
state.dispatch({ type: 'setText', text: event.target.value })} />
`API
$3
Take Redux store and return a global state for Svelte.
#### Parameters
-
store Store<State, Action> #### Examples
`javascript
import { createStore } from 'redux';
import { bind } from 'svelte3-redux';const store = createStore(reducer);
export default bind(store);
`$3
Take Redux store and return a global state for Svelte.
With state usage tracking.
#### Parameters
-
store Store<State, Action> #### Examples
`javascript
import { createStore } from 'redux';
import { bindTracked } from 'svelte3-redux';const store = createStore(reducer);
export default () => bindTracked(store);
`Examples
The examples folder contains working examples.
You can run one of them with
`bash
PORT=8080 npm run examples:01_minimal
``and open