create a reference to deep nested draft attribute from immer-produce

Viewed 32

I have a deeply nested react state which i want to update with useReducer and immer. To reduce boilerplate i want to create a reference to an attribute of the draft object which I can modify. However, this doesn't work. It does not update the state. Any recommendations how I can achieve? Or is there a cleaner way to do this?

const initialState = {
  orders: [],  
  selectedOrderIndex: 0,
};

const reducer = (state, action) => {
  return produce(state, (draft) => {
    let selectedOrder = draft.orders[draft.selectedOrderIndex];
    selectedOrder.delivered = true
  });
};
0 Answers
Related