Apply JavaScript to the layout in React after route is rendered

Yanick Rochon

Using Meteor 1.4, Flow Router, and React, I need to execute some JavaScript code to initialize the layout. Currently, I have this

FlowRouter.route('/', {
  name: 'Home',
  action() {
    mount(MainLayout, {
      content: <div>Home</div>
    });
  }
});

And I need to execute this

$(function () {
  $('.button-collapse').sideNav();
  $('.parallax').parallax();
});

on the Layout HTML. This piece of code should be executed every time MainLayout is being rendered, and the same layout will be used in other routes (obviously!).

Where should I put the layout initialisation code?

Jacob

Put it in your component's componentDidMount function:

class MainLayout extends React.Component {
  componentDidMount() {
    $('.button-collapse').sideNav();
    $('.parallax').parallax();  
  }
}

...unless you want to re-run those on updates (like when props including children change):

class MainLayout extends React.Component {
  componentDidMount() {
    this.isMounted = true; 
    this.initialiseJQueryWidgets();
  }

  componentDidUpdate() {
    if (this.isMounted) // In case you're doing server-side rendering
      this.initialiseJQueryWidgets();
  }

  initialiseJQueryWidgets() {
    $('.button-collapse').sideNav();
    $('.parallax').parallax();  
  }
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Java

React - execute javascript after bootstrap modal is completely rendered and visible

From Dev

React route rendered component not triggering setState on parent

From Dev

JavaScript syntax react route

From Dev

Vue nested route not rendered

From Dev

Trigger an onChange event after a select element is re-rendered in React

From Dev

Pause GSAP animation after 2nd react component rendered

From Dev

Execute javascript after composite component has been updated and rendered = "true"

From Dev

Grails - How to execute a javascript method after a template is rendered?

From Dev

Grails - How to execute a javascript method after a template is rendered?

From Dev

CLOSED - How to invoke a javascript function after a View or PartialView is rendered?

From Dev

swift how to execute javascript after anjular have rendered the page?

From Dev

React Router - Passing match via props to a component rendered using Route::render

From Dev

React Router 4: Pass route props to layout component

From Dev

Run javascript code after angularjs route loaded

From Dev

Run javascript code after angularjs route loaded

From Dev

Apply css after inserting javascript elements

From Dev

Javascript Change position of a div and after apply an animation

From Dev

Apply JSF rendered attribute to span

From Dev

How is table layout fixed rendered?

From Dev

Have not been rendered for the layout page

From Dev

Fullcalendar layout broken because CSS loading after javascript layout calculations

From Dev

Site looses javascript and layout after installing HTTPS

From Dev

Event after partial is rendered?

From Dev

Event after partial is rendered?

From Dev

Change route in React Native with React Router after an async action

From Java

How do I get the width of a div in a window after it got rendered by react?

From Dev

Images don't get rendered after page refresh (GET 403 Errors) React and Firebase

From Dev

Input value not being re-rendered after calling this.setState({ term: ' ' }) in react

From Dev

Javascript is rendered incorrectly

Related Related

  1. 1

    React - execute javascript after bootstrap modal is completely rendered and visible

  2. 2

    React route rendered component not triggering setState on parent

  3. 3

    JavaScript syntax react route

  4. 4

    Vue nested route not rendered

  5. 5

    Trigger an onChange event after a select element is re-rendered in React

  6. 6

    Pause GSAP animation after 2nd react component rendered

  7. 7

    Execute javascript after composite component has been updated and rendered = "true"

  8. 8

    Grails - How to execute a javascript method after a template is rendered?

  9. 9

    Grails - How to execute a javascript method after a template is rendered?

  10. 10

    CLOSED - How to invoke a javascript function after a View or PartialView is rendered?

  11. 11

    swift how to execute javascript after anjular have rendered the page?

  12. 12

    React Router - Passing match via props to a component rendered using Route::render

  13. 13

    React Router 4: Pass route props to layout component

  14. 14

    Run javascript code after angularjs route loaded

  15. 15

    Run javascript code after angularjs route loaded

  16. 16

    Apply css after inserting javascript elements

  17. 17

    Javascript Change position of a div and after apply an animation

  18. 18

    Apply JSF rendered attribute to span

  19. 19

    How is table layout fixed rendered?

  20. 20

    Have not been rendered for the layout page

  21. 21

    Fullcalendar layout broken because CSS loading after javascript layout calculations

  22. 22

    Site looses javascript and layout after installing HTTPS

  23. 23

    Event after partial is rendered?

  24. 24

    Event after partial is rendered?

  25. 25

    Change route in React Native with React Router after an async action

  26. 26

    How do I get the width of a div in a window after it got rendered by react?

  27. 27

    Images don't get rendered after page refresh (GET 403 Errors) React and Firebase

  28. 28

    Input value not being re-rendered after calling this.setState({ term: ' ' }) in react

  29. 29

    Javascript is rendered incorrectly

HotTag

Archive