Rozwiązanie na dole postu

Gdy chcę pobrać wartość ze stora za pomocą useSelector dostaję undefined

  const notes = useSelector((state:NotesState) => {
       return state.notes
    });

próbowałem również

const notes = useSelector<NotesState,NotesState["notes"]>((state) => {
       return state.notes
    });

gdy zwrócę tylko

return state

Dostaję dane

NotesReducer:
     notes: []

Jednak typescript nie pozwala mi ich odczytać.

interfejsy

export interface Note {
    id: string ,
    title: string,
    description: string,
    dateCreation: number,
    deadline?:number
}

export interface NotesState {
    notes: Note[]
}

Reducer

const initState:NotesState = {
  notes:[]
}

export const NotesReducer = (state = initState, action:NoteActionTypes) => {
    switch (action.type) {
        case NoteActions.ADD_NOTE:
            return {
                ...state,
              notes: [...state.notes, action.payload]
            };
        case NoteActions.UPDATE_NOTE:
            return state.notes.map(note =>
                note.id === action.payload.id ? action.payload : note
            );
        case NoteActions.REMOVE_NOTE:
            return state.notes.filter(note => note.id != action.payload.id)
        default:
            return state
    }
}

Zapis do stora działa bez problemu.

Co robie źle? Szukałem na stacku, ale tamte rozwiązani to były głównie błędy, które u mnie nie ma.

EDIT:

Udało mi się znaleźć rozwiązanie(wystarczyło zobaczyć w doc i zrozumieć)

const {notes} = useSelector<RootState,NotesState>(state    =>  state.NotesReducer );

gdzie RootState

export type RootState = ReturnType<typeof rootReducer>

Może komuś się przyda