2016-03-31 6 views
2

Ich bin endlich den Sprung und lernen React with Rails. Zur Zeit sind die Grundlagen und benötigen einige Hilfe, die den aktuellen angemeldeten Benutzer Profil Link zeigt. Ich verstehe, dass dies nur Hilfe bei der Ausführung braucht.Holen Sie sich das aktuelle Profil des Benutzers mit Schienen und reagieren Sie

Bevor ein Link auf das Profil des current mit erb war wie dies

<li><%= link_to 'Profile', current_user %></li> 

ich jetzt Bestandteil meines ‚Navbar‘ bin Rendering wie so

<%= react_component 'Navbar' %> 

und das ist die eigentliche Komponente:

var Navbar = React.createClass({ 
    getInitialState() { 
     return { 
     }; 
    }, 
    getDefaultProps() { 
     return { 
      siteTitle: "React Test" 
     }; 
    }, 
    render: function() { 
    return(
     <div className="navi"> 
     <div className="logo"> 
      <h1>{this.props.siteTitle}</h1> 
     </div> 
     <ul className="nav"> 
      <li className="item"> 
      <a href="#" className="hvr-float-shadow">Profile</a> 
      </li> 
     </ul> 
     </div> 
    ) 
    } 
}); 

Wie lege ich die aktuelle Benutzer-ID im Komponentenstatus fest.

+0

Requisiten react_component zu nehmen. Bitte beachten Sie die react-rails Dokumentation und reagieren Sie auf die Dokumentation selbst. –

Antwort

1

Verwenden Requisiten in Daten zu übergeben:

<%= react_component('Navbar', current_user: current_user) %> 

Ihr Profilpfad Unter der Annahme, ist so etwas wie:

localhost:3000/profile/:id 

Dann wäre Ihre Reaktion:

var Navbar = React.createClass({ 
    getInitialState() { 
    return { 
     currentUser: this.props.current_user 
    }; 
    render: function() { 
    return (
     <ul> 
     <li> 
      <a href={"localhost:3000/profile/"+ this.state.currentUser.id}>Profile</a> 
     <li> 
     <ul> 
    ); 
    } 
}, 
Verwandte Themen