NavigationMenu throw error TypeError: Cannot read properties of undefined (reading 'items')

The problem was

setTimeout(() => { this.app.dispatch(this.menu); }, 500);

There no need to dispatch menu to add it on admin panel.

creating a NavigationMenu is enough

this.menu = NavigationMenu.create(this.app, {
  items: [dashboardLink, settingsLink],
})

But the second problem remains
The NavigationMenu does not switch routes inside the SPA application!