私は、親成分からprops
を伝統的に継承していないの成分を持っています。は、伝統的に親成分からprops
を継承しています。反応ルータを搭載した非子コンポーネントにどのようにプロップを渡すのですか?
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={ProfileList} />
<Route path="/profile/:username" component={Single} /></Route>
</Router>
小道具がProfileList
コンポーネントとそのコンポーネントで使用できます。このコンポーネントは、ルートや親によってないを経由してレンダリングされ、私は、このセットアップの「詳細」コンポーネントがある<Single />
コンポーネントについて話していますレンダリングそうのようなProfile
コンポーネント:
/* ProfileList render method */
render() {
return (
<div>
{this.state.profiles.map((profile, i) =>
<Profile {...this.state} key={i} index={i} data={profile} />)}
</div>
);
}
私はProfileList
とSingle
成分の両方でProfile
コンポーネントを再利用しようとしています:
<Link className="button" to={`/profile/${username}`}>
{name.first} {name.last}
</Link>
しかし、私はstate
またはprops
にアクセスする方法はありませんSingle
コンポーネントで - ので、私はこの詳細を表示するレンダリングの方法がありません。 use redux
for passing global stateのいずれかを使用するか、クエリパラメータを使用することができます。Link to=""
しかし、私はまだ還元剤のために手を差し伸べる必要はなく、クエリパラメータについては気にしません。では、Single
コンポーネントのthis.props.profiles
のようなものにアクセスするにはどうすればよいですか?
おそらくルータのパラメータ? http://stackoverflow.com/questions/32901538/how-does-react-router-pass-params-to-other-components-via-props – Brad
いいえ@ブラッド - 私はparamsを照会したくありません。 –
ProfileListとSingleが兄弟コンポーネントである場合、なぜSingleアクセス状態にできないのですか? – hazardous