Explore Library
iOS Developer EssentialsArchitecture Patterns (MVC, MVVM, Clean)

42 items

1

Feature Module Dependency Inversion Leak

Code Quiz
2

Dependency Inversion Across Feature Modules

Quiz
3

Memoized Selector Reference Trap

Code Quiz
4

State Architecture Tradeoffs at Scale

Quiz
5

Redux Reducer State Mutation Bug

Code Quiz
6

State Patterns Across Platforms

Quiz
7

State Management Tradeoffs At Scale

Slides / Video
8

State Patterns: Context, Redux, Zustand

Slides / Video
9

State Management Tradeoffs at Scale

Flashcard
10

State Management Patterns in Apps

Flashcard
11

Local State That Won't Update

Code Quiz
12

Local vs Global State Basics

Quiz
13

Reusable Component Ignores Its Input

Code Quiz
14

Separation of Concerns in MVC

Quiz
15

Local vs Global State Basics

Flashcard
16

State Management Basics in iOS

Slides / Video
17

Bridge Boundary Sync Call Bug

Code Quiz
18

Bridge vs JSI Architecture Trade-offs

Quiz
19

MVVM ViewModel State Mutation Bug

Code Quiz
20

Layered Architecture and State Ownership

Quiz
21

Native vs JS Boundary: Bridge vs JSI

Flashcard
22

Native vs JS Boundary Trade-offs

Slides / Video
23

Zustand Selector Causing Re-renders

Code Quiz
24

State Ownership & Navigation in SwiftUI

Quiz
25

Layer Dependency Violation in MVVM

Code Quiz
26

Layered Architecture: Domain Layer Role

Quiz
27

State & Navigation Architecture

Slides / Video
28

Layered Architecture: Presentation, Domain, Data

Slides / Video
29

State Management & Navigation Architecture

Flashcard
30

Layered Architecture: Presentation, Domain, Data

Flashcard
31

ViewModel Breaks Separation of Concerns

Code Quiz
32

Separating UI, State & Data Layers

Quiz
33

Redux Store Never Updates

Code Quiz
34

Context vs Redux State Management

Quiz
35

State Patterns: Context vs Redux

Slides / Video
36

Separation of Concerns in iOS

Slides / Video
37

State Management: Environment vs Redux

Flashcard
38

Separation of Concerns in iOS Architecture

Flashcard
39

State Management Patterns

Flashcard
40

State Management Patterns Compared

Slides / Video
41

Component UI & Separation of Concerns

Slides / Video
42

Separation of Concerns in UI Architecture

Flashcard
Code Quiz

Redux Reducer State Mutation Bug

Spot the state-mutation bug that breaks Redux change detection in a reducer.

Codejavascript
const initialState = { items: [], count: 0 };

function cartReducer(state = initialState, action) {
  switch (action.type) {
    case 'ADD_ITEM':
      state.items.push(action.payload);
      state.count += 1;
      return state;
    case 'RESET':
      return initialState;
    default:
      return state;
  }
}

export default cartReducer;

What is the bug in this reducer?