default-parameters.expect.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132
  1. <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">visibleTodoFilter</span>(<span class="hljs-params">state = 'watch', action</span>) </span>{
  2. <span class="hljs-keyword">switch</span> (action.type) {
  3. <span class="hljs-keyword">case</span> <span class="hljs-string">'CHANGE_VISIBLE_FILTER'</span>:
  4. <span class="hljs-keyword">return</span> action.filter;
  5. <span class="hljs-keyword">default</span>:
  6. <span class="hljs-keyword">return</span> state;
  7. }
  8. }
  9. <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">todos</span>(<span class="hljs-params">state, action</span>) </span>{
  10. <span class="hljs-keyword">switch</span> (action.type) {
  11. <span class="hljs-keyword">case</span> <span class="hljs-string">'ADD_TODO'</span>:
  12. <span class="hljs-keyword">return</span> [...state, {
  13. text: action.text,
  14. completed: <span class="hljs-literal">false</span>
  15. }];
  16. <span class="hljs-keyword">case</span> <span class="hljs-string">'COMPLETE_TODO'</span>:
  17. <span class="hljs-keyword">return</span> [
  18. ...state.slice(<span class="hljs-number">0</span>, action.index),
  19. <span class="hljs-built_in">Object</span>.assign({}, state[action.index], {
  20. completed: <span class="hljs-literal">true</span>
  21. }),
  22. ...state.slice(action.index + <span class="hljs-number">1</span>)
  23. ]
  24. <span class="hljs-keyword">default</span>:
  25. <span class="hljs-keyword">return</span> state;
  26. }
  27. }
  28. <span class="hljs-keyword">import</span> { combineReducers, createStore } <span class="hljs-keyword">from</span> <span class="hljs-string">'redux'</span>;
  29. <span class="hljs-keyword">let</span> reducer = combineReducers({ visibleTodoFilter, todos });
  30. <span class="hljs-keyword">let</span> store = createStore(reducer);