リアクションルータ4を使用してユーザリストを表示しています。ルートが\Users
に一致すると、コンポーネントUsers
がロードされます。その中には、URLが\Users\:id
と一致したときにロードされるRoute
(ユーザーの詳細)が定義されています。リアクタルータ4 - 親コンポーネントに子ルートがロードされているかどうかを検出します。
Users
ページには、列数が少ないグリッド/テーブルがあります。ユーザの詳細ルートは、ユーザーのグリッドを縮小(たとえばクラスCOL-MD-4を適用)し、その右にユーザーの詳細を表示するためにアクティブである場合。私は何をしたいことはある
render(){
const {users, flags} = this.props;
return (
<div>
<h3>Users</h3>
<div className="col-md-12">
<UsersGrid users={this.state.users} />
</div>
<Route path="https://stackoverflow.com/users/:id" component={UserDetail} />
</div>
)
}
しかし、私は条件付きで要素にクラスを適用できるように、子ルートがアクティブであるかどうかをどのように検出できますかわかりません。私はthis.props.children
を使ってみましたが、常に定義されていません。