vijaygenius123
2/16/2018 - 11:11 AM

JS Bin // source https://jsbin.com/riyiken

JS Bin

// source https://jsbin.com/riyiken

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <script src="https://unpkg.com/expect@%3C21/umd/expect.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/redux/3.2.1/redux.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react-dom.min.js"></script>
  <title>JS Bin</title>
</head>
<body>

<script id="jsbin-javascript">
'use strict';

var counter = function counter(state, action) {
  if (state === undefined) state = 0;

  switch (action.type) {
    case 'INCREMENT':
      return state + 1;
    case 'DECREMENT':
      return state - 1;
    default:
      return state;
  }
};

expect(counter(0, { type: 'INCREMENT' })).toEqual(1);
expect(counter(2, { type: 'INCREMENT' })).toEqual(3);
expect(counter(1, { type: 'DECREMENT' })).toEqual(0);

expect(counter(0, { type: 'TEST' })).toEqual(0);

console.log('Tests Passed');

var _Redux = Redux;
var createStore = _Redux.createStore;

var store = createStore(counter);

console.log(store.getState());

var render = function render() {
  document.body.innerText = store.getState();
};

store.subscribe(render);
render();
document.addEventListener('click', function () {
  store.dispatch({ type: 'INCREMENT' });
  console.log(store.getState());
});
</script>



<script id="jsbin-source-javascript" type="text/javascript">
const counter= (state = 0, action) => {
  switch (action.type) {
    case 'INCREMENT': 
      return state + 1;
    case 'DECREMENT':
        return state - 1;
    default:
      return state;
  }
}

expect(counter(0,{type:'INCREMENT'})).toEqual(1);
expect(counter(2,{type:'INCREMENT'})).toEqual(3);
expect(counter(1,{type:'DECREMENT'})).toEqual(0);

expect(counter(0,{type:'TEST'})).toEqual(0);

console.log('Tests Passed');



const { createStore } = Redux;

const store = createStore(counter);

console.log(store.getState());

const render = () => {
    document.body.innerText = store.getState();
};

store.subscribe(render);
render();
document.addEventListener('click',()=>{
  store.dispatch({type:'INCREMENT'});
  console.log(store.getState());
})




</script></body>
    <script src="https://unpkg.com/expect@%3C21/umd/expect.min.js"></script>

</html>
'use strict';

var counter = function counter(state, action) {
  if (state === undefined) state = 0;

  switch (action.type) {
    case 'INCREMENT':
      return state + 1;
    case 'DECREMENT':
      return state - 1;
    default:
      return state;
  }
};

expect(counter(0, { type: 'INCREMENT' })).toEqual(1);
expect(counter(2, { type: 'INCREMENT' })).toEqual(3);
expect(counter(1, { type: 'DECREMENT' })).toEqual(0);

expect(counter(0, { type: 'TEST' })).toEqual(0);

console.log('Tests Passed');

var _Redux = Redux;
var createStore = _Redux.createStore;

var store = createStore(counter);

console.log(store.getState());

var render = function render() {
  document.body.innerText = store.getState();
};

store.subscribe(render);
render();
document.addEventListener('click', function () {
  store.dispatch({ type: 'INCREMENT' });
  console.log(store.getState());
});