2016-11-06 20 views
0

子供の小道具を渡すラッパーコンポーネントを作成したいと思います。たとえば、純粋な反応の認証システムです。すべての子ノードにユーザーの小道具を渡す

<Router history={ hashHistory } > 
<Route path="/" component={Base}> 
<Route component={Auth}> 
    <Route path="/who" component={Who} /> 
    <Route path="/features" component={Features} /> 
    <Route path="/try" component={Try} /> 
</Route> 
</Route> 
</Router> 

私は、誰のいずれかに小道具でユーザーを渡す機能やローカルストレージから引っ張ってくる認証、からコンポーネントを試してみたいです。

私がしようとしたばかげたことは、この.propsまたはthis.props.childrenを操作することですが、これは問題ではありません。推奨される解決策は何ですか?

class Auth extends Component { 
    render() { 
    //find user or null 
    var user = JSON.parse(localStorage.getItem('user')) || []; 
    //this.props.user = user; 
    console.log('top level router props.user', this.props.user); 
    return (
    <div> 
    {this.props.children} 
    </div> 
    ); 
    } 
} 
+0

この '<ルートパス= "ダッシュボード" コンポーネント= {ダッシュボード}フォーカス取得時= {requireAuth} />のための' –

+0

@KeshanNageswaranおかげようになる子ルートの 'onEnter'例を使用することができ私のアプリは役割についてもう少し具体的であり、文字列を評価できるようにしたいと考えています。私は、私が評価することができるベースの反応コンポーネントクラスの周りに小さなラッパーAPIを書いた私はトップレベルから渡す方法がわからない。 私はcloneElementを使用する必要があるかもしれないと思うでしょう – mibbit

+0

[react-router-role-authentication](https://www.npmjs.com/package/react-router-role-authorization)があなたの必要性を満たすことを望みます[ブログの投稿](http://frontendinsights.com/role-based-authorization-using-react-router/) –

答えて

関連する問題