0
私はこの場合リアクションルータv4で作業していますが、これは重要なことです。リアクションのルートを経由したサービスのインスタンスの受け渡し
私は、AuthServiceオブジェクトが正しくインスタンス化されたAppコンポーネントを持っています。
私は、Authオブジェクトのインスタンスが同じである特定のコンポーネントを取得したいと思います。これらのコンポーネントはRouteで定義されています。
は、ここに私のコードのサンプルです:
const auth = new AuthService();
class App extends Component {
render() {
return (
<div>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/splash">Login</Link></li>
</ul>
<Route exact path="/" component={Home} auth={auth}/>
<Route exact path="/splash" component={SplashPage} auth={auth}/>
</div>
);
}
}
export default App;
HomeまたはSplashPageをレンダリングするとき、彼らはルートからの典型的な小道具が、認証の無い意識を持っています。
プロンプトの1つとして認証を取得するにはどうすればよいでしょうか。ありがとうございました。
authRouteを作成して、authインスタンスを必要とするコンポーネントをレンダリングする場合はどうすればよいですか?私はこれまでずっとこれを持っています... const AuthRoute =({コンポーネント、...}} => { return( { return ; React.createElement(成分、小道具) }} /> ) } –
Andrew
はこれで最後のビットを解決: React.createElement(成分、{...小道具、AUTH})。 まだ新人であるという兆候は、普及したオペレータはまだ私には不思議で驚きです。 :) – Andrew
私はそれと同じような状況でした。反応ルータv2のルートでレンダリングが利用できませんでした。私のための解決策は、構成されたコンポーネントを使用することでした。それは、私が追加の動作のためにコンポーネントをラップするのに役立ちます。 'AuthWrapper(AuthWrapper(Profile))/>' AuthWrapperは、authがなければProfileをレンダリングする単純なラッパーコンポーネントでした。そうでなければ、ユーザーはsigninページに移動しました。あなたはそれについてもっと読むことができます[ここ](https://facebook.github.io/react/docs/higher-order-components.html) –