mount-component.js 854 B

1234567891011121314151617181920212223242526272829
  1. import React from 'react'; // jshint ignore:line
  2. import ReactDOM from 'react-dom';
  3. import { Provider } from 'react-redux'; // jshint ignore:line
  4. import store from 'misago/services/store'; // jshint ignore:line
  5. export default function(Component, rootElementId, connected=true) {
  6. let rootElement = document.getElementById(rootElementId);
  7. /* jshint ignore:start */
  8. let finalComponent = Component.props ? Component : <Component />;
  9. /* jshint ignore:end */
  10. if (rootElement) {
  11. if (connected) {
  12. ReactDOM.render(
  13. /* jshint ignore:start */
  14. <Provider store={store.getStore()}>
  15. {finalComponent}
  16. </Provider>,
  17. /* jshint ignore:end */
  18. rootElement
  19. );
  20. } else {
  21. /* jshint ignore:start */
  22. ReactDOM.render(finalComponent, rootElement);
  23. /* jshint ignore:end */
  24. }
  25. }
  26. }