代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 240px;
margin: 100px auto;
}
button {
width: 50px;
height: 50px;
margin: 0 20px;
font-size: 30px;
}
span {
font-size: 30px;
}
</style>
</head>
<body>
<div>
<button id="decrement">-</button>
<span id="count">0</span>
<button id="increment">+</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/redux/4.0.5/redux.min.js"></script>
<script>
function reducer(state = { count: 0 }, action) {
if (action.type === 'INCREMENT') {
return { count: state.count + 1 }
}
if (action.type === 'DECREMENT') {
return { count: state.count - 1 }
}
return state;
}
const store = Redux.createStore(reducer);
store.subscribe(() => {
document.querySelector('#count').innerText = store.getState().count;
});
const inBtn = document.querySelector('#increment')
inBtn.addEventListener('click', function () {
store.dispatch({ type: 'INCREMENT' });
});
const dBtn = document.querySelector('#decrement')
dBtn.addEventListener('click', function () {
store.dispatch({ type: 'DECREMENT' });
});
</script>
</body>
</html>