Skip to content

Instantly share code, notes, and snippets.

@kapantzak
Last active August 22, 2019 07:18
Redux
private void SetInitialState()
{
var state = new State
{
// Set values from database
};
Hidden_InitialState.Value = JsonConvert.SerializeObject(state);
}
import * as redux from 'redux';
import { appReducer } from '../reduxStates/stateHelper';
let store = null;
function setInitialState(): void {
const stateData = $('[id$=Hidden_InitialState]').val();
if (stateData && stateData.length > 0) {
const initialState = JSON.parse(stateData);
store = redux.createStore(stateHelper.appReducer, initialState);
}
}
$(window).load(() => {
setInitialState();
});
const arg1 = $('#someControl').val();
store.dispatch(stateHelper.actionOne(arg1));
// Getting the state object
const newState = store.getState();
async function trySave(): Promise<void> {
const state = store.getState();
// Send to handler
const res = await saveData(state);
if (res.status === 'success') {
// Success
} else {
// Error
}
}
import { IFluxAction } from '../reduxStates/reduxHelpers';
import models = namespace.className;
export function appReducer(state: models.State = undefined, action: IAction): models.State {
switch (action.type) {
case actions.ACTION_ONE:
return Object.assign({}, state, {
// ...
});
default:
return state;
}
}
export enum actions {
ACTION_ONE
}
export interface IAction extends IFluxAction {
type: actions,
payload: IPayload
}
export function actionOne(arg1: string): IAction {
return {
type: actions.ACTION_ONE,
payload: {
prop1: arg1
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment