2016-09-26 8 views
0

私は、ユーザーを管理者と通常のユーザーに分類するWebサイトを作っています。表示するルーティングコンポーネントを無効にするにはどうすればよいですか?

一部のルーティングコンポーネントは、認証されたユーザーでない限り、他のユーザーの詳細のように表示しないでください。

また、通常のユーザーに表示するだけでなく、通常のユーザーがアクセスできないようにする必要があります。コードを変更する場所ReactDOM.render(.....)またはコンポーネントの内部?

答えて

0

コンポーネント内で実行する必要があります。 ReactDOM.renderはReactコンポーネントとDOM要素を取ります。これは、Reactにその要素をレンダリングすることによって、そのDOM要素の内容をコントロールさせるために使用されます。通常、ほとんどのWebアプリケーションはReactDOM.renderの1つしか持たず、HTML <body>のルートで使用されます。

達成したいことを条件付きレンダリングといいます。下の例では、this.state.profileBelongsToUsertrueの場合、「プロファイルの編集」ボタンがレンダリングされます。それ以外の場合はDOMにレンダリングされません。そのブール値フラグの値を決定するためにデータを取得する必要があります。

class Profile extends React.Component { 
    constructor(props) { 
    super(props); 
    // Initialize/set state probably by fetching some data. 
    this.state = { 
     profileBelongsToUser: false 
    }; 
    } 

    render() { 
    return (
     <div> 
     <div> 
      <h1>Profile page</h1> 
      <p>Name: John Doe</p> 
      {this.state.profileBelongsToUser ? <button>Edit profile</button> : null} 
     </div> 
     </div> 
    ) 
    } 
} 
関連する問題