Unable to implement ui-nav-menu

Topic summary

A developer is struggling to implement Shopify’s ui-nav-menu web component to create static navigation in their React app using App Bridge 3.1. Shopify recently removed the ability to configure navigation directly in app settings, directing developers to use the ui-nav-menu component instead.

Attempted solutions (both unsuccessful):

  • Placing the component code in App.js within the React return statement
  • Adding it directly to index.html in the body before the root element

The developer notes that a React component solution exists but requires App Bridge 4.x, which they cannot upgrade to currently. The navigation should render on the left side of the Shopify admin area but isn’t appearing.

Current status: The issue remains unresolved after a week. Another user experiencing the same problem is considering creating a new app from scratch to examine how the default navigation works in newly created apps.

Summarized with AI on October 31. AI used: claude-sonnet-4-5-20250929.

We are using react app on front end with shopify app bridge 3.1 and we need to create the static navigation for our app and as per shopify announcement its no more possible directly in the app configuration > navigation but shopify gave this guide to implement: https://shopify.dev/docs/api/app-bridge-library/web-components/ui-nav-menu but we don’t know where to implement it so it renders on the left side in the shopify admin area as this link suggests but we tried a couple ways to place this piece of code in index.html and App.js but it doesn’t work.

Can anyone guide how this case be achieved or if anyone did it so we can learn.

Our react file code:

return (
     
     
 );

I also tried in index.html directly as below in the body before root:


 

None of ways it works. There is also reactcomponent but we couldn’t try that due to it requires app bridge 4.x which we cannot upgrade as of now.

Any idea or help on this would be highly appreciated.

2 Likes

Hey did you manage to fix this?

Not yet

bru its been a week, im making a new app from scratch to see how the default works on new apps