私はReact [15.6.1]とRouter [4.1.1]で記事検索を構築していますが、記事に直接アクセスしようとすると、 3000 /#/私が直接このlocalhostのような記事にアクセスした場合、それはReact Router v4で親ルートコンポーネントが実行されないようにしました
// SearchFilter Did Mount
を印刷し、:それはルートローカルホストに行くとき
// === Layout ==================
class Layout extends React.Component {
render() {
return (
<Provider store={this.props.store}>
<HashRouter>
<div>
<Switch>
<Route exact path="/" component={SearchFilter} />
<Route path="/article/:guid" component={Article} />
</Switch>
</div>
</HashRouter>
</Provider>
);
}
}
// === SearchFilter ==================
class SearchFilter extends React.Component {
componentDidMount() {
console.log('SearchFilter Did Mount');
}
render() {
return (
<div>...</div>
);
}
}
// === Article ==================
class Article extends React.Component {
componentDidMount() {
console.log('Article Did Mount');
}
render() {
return (
<div>...</div>
);
}
}
と呼ばれています1はそうではありません汝: 3000 /#/ a rticle/123456それは私の質問は、私は、以前のルートを実行しているから、それを防ぐことができますどのように、ある
// SearchFilter Did Mount
// Article Did Mount
を出力しますか? そこにいくつかのアクションをディスパッチして、Webサービスへのいくつかのajax呼び出しをトリガーしたいと思います。
おかげ
こんにちは、私はそれを避けようとしていました。ルート/ to/searchと私はそれを行うと、記事はちょうど動作を停止します – Kup