I have experience implementing the sidebar actionJS + Semantic-UI, so I can help.
The reason that errors occur is because the sidebar component is applied to the <body> tag by default and will add a pusher class to the adjacent element, which will be used as the contents of the window to move / cover during the animation.
I'm not quite sure what you want to do, but it looks like you want to initialize the sidebar, so the <body> tag is the parent tag of the React rendering result, but keep the DOM structure that you provided. Something like that:
<body> <div> <div class="ui sidebar"></div> <div class="pusher"></div> </div> </body>
This will work fine if you plan to use the <div class="pusher"> element as the context for the semantic interface. If so, you need to determine the context when initializing the sidebar. You can initialize it in showSideMenu() , but may be more appropriate in componentDidMount() .
componentDidMount: function() { // Localize the selector instead of having jQuery search globally var rootNode = React.findDOMNode(this); // Initialize the sidebar $(rootNode).find('.ui.sidebar').sidebar({ context: $(rootNode) }); }, showSideMenu: function() { // Same thing as before, might want to store this as a variable var rootNode = React.findDOMNode(this); $(rootNode).find('.ui.sidebar').sidebar('toggle'); }
This is described in using a custom context .
source share