Search code examples
reactjsnode-webkitmenubar

React NW.js menubar setup crash


I created a React NW.js application using the npx create-nw-react-app ... command line. I'm working in a Linux environment. So far, so good. I managed to make it work with some custom configuration like window size or title. But when I tried to setup a menu, the application just crashed to desktop. As the documentation said, I wrote in the index.tsx file:

    var menu = new nw.Menu({ type: 'menubar' });

    var submenu = new nw.Menu();
    submenu.append(new nw.MenuItem({ label: 'Item A' }));
    submenu.append(new nw.MenuItem({ label: 'Item B' }));

    menu.append(new nw.MenuItem({
      label: 'First Menu',
      submenu: submenu
    }));

    nw.Window.get().menu = menu;

No variables are null, but this is not working. Any idea?

Thanks for your help!


Solution

  • This appears to be a bug with the latest builds of NW.js and is not related to React.

    I can recreate the crash by simply running nw.exe by itself (version 0.64.1), right-clicking the window to open DevTools, and entering the following in the console:

    nw.Window.get().menu = new nw.Menu({ type: 'menubar' });
    

    If I downgrade to 0.62.2, the same command works without crashing. It looks like an issue has already been opened: https://github.com/nwjs/nw.js/issues/7870