Steps Slice
Steps Slice is the reducer & action that will contain the steps form’s values & the update logic. As of right now, the initial state is as such:
InitialState: {
loading: false,
value: {
siteCondition: {
stateAndCounty: "",
soilDrainage: "",
plannedPlantingDate: "",
acres: 0,
checkNRCSStandareds: false,
},
speciesSelection: {
queryString: "",
queryResults: [],
},
mixRatios: {
poundsOfSeed: 0,
plantsPerAcre: 0,
},
mixSeedingRate: {},
seedTagInfo: {},
reviewMix: {},
confirmPlan: {},
},
etc: {},
};
The update function is:
updateSteps: (state, action) => {
state.value = action.payload;
}
Per change in data, we will dispatch the updateSteps function, replacing the state.value with the newer state.value. In the case that this results in a performance issue, we can add a submit button to each steps individually.