ReactJS, React-Router: Calling parent function2019 Community Moderator ElectionLoop inside React JSXUnderstanding unique keys for array children in React.jsProgrammatically navigate using react routerReact-Router - Pass Method to Child ComponentPassing custom props to router component in react-router v4How to render NotFound Component react-router-configReactJs Router Duplicates itself when wrap it in componentreact-router pass previous routes props to sub routeReact-router Pass DataReact Router and TypeScript Implementation

Where do you go through passport control when transiting through another Schengen airport on your way out of the Schengen area?

Is "cogitate" an appropriate word for this?

Naming Characters after Friends/Family

The need of reserving one's ability in job interviews

What's the difference between Compensation, Indemnity, and Reparations?

Is there such a thing in math the inverse of a sequence?

Quitting employee has privileged access to critical information

Error in TransformedField

Is there a way to find out the age of climbing ropes?

Is it a Cyclops number? "Nobody" knows!

Can a Mimic (container form) actually hold loot?

What does "rhumatis" mean?

Why do phishing e-mails use faked e-mail addresses instead of the real one?

Under what conditions would I NOT add my Proficiency Bonus to a Spell Attack Roll (or Saving Throw DC)?

Should I use HTTPS on a domain that will only be used for redirection?

Different Account page layouts, what are they?

An Undercover Army

In the world of The Matrix, what is "popping"?

Sundering Titan and basic normal lands and snow lands

What is "desert glass" and what does it do to the PCs?

Too soon for a plot twist?

Why is there an extra space when I type "ls" on the Desktop?

Using the imperfect indicative vs. subjunctive with si

Do natural melee weapons (from racial traits) trigger Improved Divine Smite?



ReactJS, React-Router: Calling parent function



2019 Community Moderator ElectionLoop inside React JSXUnderstanding unique keys for array children in React.jsProgrammatically navigate using react routerReact-Router - Pass Method to Child ComponentPassing custom props to router component in react-router v4How to render NotFound Component react-router-configReactJs Router Duplicates itself when wrap it in componentreact-router pass previous routes props to sub routeReact-router Pass DataReact Router and TypeScript Implementation










0















I am working on a React App, trying to call a parent method from a child component, some code of the parent component below:



 class NavigationBar extends Component 
constructor(props)
super(props);
this.state=isLoggedIn: false;


updateLoginState()
alert("Login from NavigationBar");


GetBar()
//const isLoggedIn = this.props.isLoggedIn;
if (false) //isLoggedIn
return this.UserNavBar();

return this.StrangerNavBar();


StrangerNavBar()
return (

<div>
<HashRouter>
<div>
/* ... */
<div className="content">
<Route exact path="/LoginCC" loginUpdate=this.updateLoginState component=LoginCC />
</div>
</div>
</HashRouter>
</div>
);



render()
return (
this.GetBar()
);




export default NavigationBar;


This component is supposed to redirect the user to different content pages based on whether or not he is logged in, using a Router. If a button is clicked in LoginCC.js the method updateLoginState should be invoked which just displays a message for now. The child content page LoginCC.js looks as follows:



class LoginCC extends Component 

constructor(props)
super(props);
this.state = isLoggedIn: false;


render()
return (
<div>
<HashRouter>
/* ... */
<Button variant="primary" size="lg" block onClick=this.props.loginUpdate>
Log in
</Button>
/* ... */
</HashRouter>
</div>
);



export default LoginCC;


I passed the method reference as a prop to LoginCC when rendering this component using the Router, so a message should pop up if I press the button, but nothing happens.



Am I passing the prop incorrectly or something else I've missed? I'm new to React so any help is appreciated.










share|improve this question


























    0















    I am working on a React App, trying to call a parent method from a child component, some code of the parent component below:



     class NavigationBar extends Component 
    constructor(props)
    super(props);
    this.state=isLoggedIn: false;


    updateLoginState()
    alert("Login from NavigationBar");


    GetBar()
    //const isLoggedIn = this.props.isLoggedIn;
    if (false) //isLoggedIn
    return this.UserNavBar();

    return this.StrangerNavBar();


    StrangerNavBar()
    return (

    <div>
    <HashRouter>
    <div>
    /* ... */
    <div className="content">
    <Route exact path="/LoginCC" loginUpdate=this.updateLoginState component=LoginCC />
    </div>
    </div>
    </HashRouter>
    </div>
    );



    render()
    return (
    this.GetBar()
    );




    export default NavigationBar;


    This component is supposed to redirect the user to different content pages based on whether or not he is logged in, using a Router. If a button is clicked in LoginCC.js the method updateLoginState should be invoked which just displays a message for now. The child content page LoginCC.js looks as follows:



    class LoginCC extends Component 

    constructor(props)
    super(props);
    this.state = isLoggedIn: false;


    render()
    return (
    <div>
    <HashRouter>
    /* ... */
    <Button variant="primary" size="lg" block onClick=this.props.loginUpdate>
    Log in
    </Button>
    /* ... */
    </HashRouter>
    </div>
    );



    export default LoginCC;


    I passed the method reference as a prop to LoginCC when rendering this component using the Router, so a message should pop up if I press the button, but nothing happens.



    Am I passing the prop incorrectly or something else I've missed? I'm new to React so any help is appreciated.










    share|improve this question
























      0












      0








      0








      I am working on a React App, trying to call a parent method from a child component, some code of the parent component below:



       class NavigationBar extends Component 
      constructor(props)
      super(props);
      this.state=isLoggedIn: false;


      updateLoginState()
      alert("Login from NavigationBar");


      GetBar()
      //const isLoggedIn = this.props.isLoggedIn;
      if (false) //isLoggedIn
      return this.UserNavBar();

      return this.StrangerNavBar();


      StrangerNavBar()
      return (

      <div>
      <HashRouter>
      <div>
      /* ... */
      <div className="content">
      <Route exact path="/LoginCC" loginUpdate=this.updateLoginState component=LoginCC />
      </div>
      </div>
      </HashRouter>
      </div>
      );



      render()
      return (
      this.GetBar()
      );




      export default NavigationBar;


      This component is supposed to redirect the user to different content pages based on whether or not he is logged in, using a Router. If a button is clicked in LoginCC.js the method updateLoginState should be invoked which just displays a message for now. The child content page LoginCC.js looks as follows:



      class LoginCC extends Component 

      constructor(props)
      super(props);
      this.state = isLoggedIn: false;


      render()
      return (
      <div>
      <HashRouter>
      /* ... */
      <Button variant="primary" size="lg" block onClick=this.props.loginUpdate>
      Log in
      </Button>
      /* ... */
      </HashRouter>
      </div>
      );



      export default LoginCC;


      I passed the method reference as a prop to LoginCC when rendering this component using the Router, so a message should pop up if I press the button, but nothing happens.



      Am I passing the prop incorrectly or something else I've missed? I'm new to React so any help is appreciated.










      share|improve this question














      I am working on a React App, trying to call a parent method from a child component, some code of the parent component below:



       class NavigationBar extends Component 
      constructor(props)
      super(props);
      this.state=isLoggedIn: false;


      updateLoginState()
      alert("Login from NavigationBar");


      GetBar()
      //const isLoggedIn = this.props.isLoggedIn;
      if (false) //isLoggedIn
      return this.UserNavBar();

      return this.StrangerNavBar();


      StrangerNavBar()
      return (

      <div>
      <HashRouter>
      <div>
      /* ... */
      <div className="content">
      <Route exact path="/LoginCC" loginUpdate=this.updateLoginState component=LoginCC />
      </div>
      </div>
      </HashRouter>
      </div>
      );



      render()
      return (
      this.GetBar()
      );




      export default NavigationBar;


      This component is supposed to redirect the user to different content pages based on whether or not he is logged in, using a Router. If a button is clicked in LoginCC.js the method updateLoginState should be invoked which just displays a message for now. The child content page LoginCC.js looks as follows:



      class LoginCC extends Component 

      constructor(props)
      super(props);
      this.state = isLoggedIn: false;


      render()
      return (
      <div>
      <HashRouter>
      /* ... */
      <Button variant="primary" size="lg" block onClick=this.props.loginUpdate>
      Log in
      </Button>
      /* ... */
      </HashRouter>
      </div>
      );



      export default LoginCC;


      I passed the method reference as a prop to LoginCC when rendering this component using the Router, so a message should pop up if I press the button, but nothing happens.



      Am I passing the prop incorrectly or something else I've missed? I'm new to React so any help is appreciated.







      reactjs react-router






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked yesterday









      Fabian WiteczekFabian Witeczek

      84




      84






















          1 Answer
          1






          active

          oldest

          votes


















          0














          Route doesn't pass any custom props to components. You should use other method to pass functions.



          One of solutions is:



          <Route exact path="/LoginCC" render=
          props => <LoginCC ...props loginUpdate=this.updateLoginState/>
          />


          Note that updateLoginState will not get this when called. You should either bind it or declare it as an arrow function to get the correct this.



          Also check the Context documentation.






          share|improve this answer























          • That solved my problem. Thanks for the solution and pointer! :)

            – Fabian Witeczek
            yesterday










          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55023291%2freactjs-react-router-calling-parent-function%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Route doesn't pass any custom props to components. You should use other method to pass functions.



          One of solutions is:



          <Route exact path="/LoginCC" render=
          props => <LoginCC ...props loginUpdate=this.updateLoginState/>
          />


          Note that updateLoginState will not get this when called. You should either bind it or declare it as an arrow function to get the correct this.



          Also check the Context documentation.






          share|improve this answer























          • That solved my problem. Thanks for the solution and pointer! :)

            – Fabian Witeczek
            yesterday















          0














          Route doesn't pass any custom props to components. You should use other method to pass functions.



          One of solutions is:



          <Route exact path="/LoginCC" render=
          props => <LoginCC ...props loginUpdate=this.updateLoginState/>
          />


          Note that updateLoginState will not get this when called. You should either bind it or declare it as an arrow function to get the correct this.



          Also check the Context documentation.






          share|improve this answer























          • That solved my problem. Thanks for the solution and pointer! :)

            – Fabian Witeczek
            yesterday













          0












          0








          0







          Route doesn't pass any custom props to components. You should use other method to pass functions.



          One of solutions is:



          <Route exact path="/LoginCC" render=
          props => <LoginCC ...props loginUpdate=this.updateLoginState/>
          />


          Note that updateLoginState will not get this when called. You should either bind it or declare it as an arrow function to get the correct this.



          Also check the Context documentation.






          share|improve this answer













          Route doesn't pass any custom props to components. You should use other method to pass functions.



          One of solutions is:



          <Route exact path="/LoginCC" render=
          props => <LoginCC ...props loginUpdate=this.updateLoginState/>
          />


          Note that updateLoginState will not get this when called. You should either bind it or declare it as an arrow function to get the correct this.



          Also check the Context documentation.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered yesterday









          UjinT34UjinT34

          73910




          73910












          • That solved my problem. Thanks for the solution and pointer! :)

            – Fabian Witeczek
            yesterday

















          • That solved my problem. Thanks for the solution and pointer! :)

            – Fabian Witeczek
            yesterday
















          That solved my problem. Thanks for the solution and pointer! :)

          – Fabian Witeczek
          yesterday





          That solved my problem. Thanks for the solution and pointer! :)

          – Fabian Witeczek
          yesterday



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55023291%2freactjs-react-router-calling-parent-function%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

          2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived

          Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme