<div class="container">
<button type="button" class="plus-num">+ </button>
<h1 class="result">0</h1>
<button type="button" class="minus-num">- </button>
</div>
:root {
background-color: #282c34;
}
.container {
height: 95vh;
display: flex;
justify-content: center;
align-items: center;
gap: 5rem;
}
.result {
color: #61dafb;
font-size: 5rem;
}
button {
font-size: 3rem;
border-radius: 1rem;
border-style: none;
cursor: pointer;
padding: 0 2rem;
}
const el = document.querySelector(".result");
const plusNumBTN = document.querySelector(".plus-num");
const minusNumBTN = document.querySelector(".minus-num");
console.clear();
const { createStore } = Redux;
const initialState = {
counter: 0
};
const counterReducer = (state = initialState, action) => {
switch (action.type) {
case "plus":
return {
state,
counter: state.counter + action.payload
};
case "minus":
return {
state,
counter: state.counter - 5
};
default:
return state;
}
};
const counterSubscriber = () => {
const latestState = store.getState();
console.log(latestState);
el.innerHTML = latestState.counter;
};
const store = createStore(counterReducer);
store.subscribe(counterSubscriber);
plusNumBTN.addEventListener(
"click",
() => store.dispatch({ type: "plus", payload: 5 }),
false
);
minusNumBTN.addEventListener(
"click",
() => store.dispatch({ type: "minus" }),
false
);
This Pen doesn't use any external CSS resources.