私は反応ルータでいくつか問題があると思う。どのように反応ルータが以前にレンダリングされたページを再レンダリングするのを防ぐことができますか?私はこのようなルータのコードを持って反応ルータが以前レンダリングされたページを再描画するのを防ぐには?
:私は最初のページにアクセスすると
class App extends React.Component {
render() {
return (
<div>
<NavBar/>
{this.props.children}
</div>
);
}
}
ReactDOM.render(
(
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Gateway} />
<Route path="home" component={Gateway} />
<Route path="categories" component={Categories} />
</Route>
</Router>
), document.getElementById('my-app')
);
、それはゲートウェイコンポーネントがレンダリングしまった、インデックスに当たります。次に、 "categories"リンクをクリックし、Categoriesコンポーネントがレンダリングされました。次に、「ホーム」リンクを再度クリックすると、コンポーネントゲートウェイが再レンダリングされました。状態はリセットされました。これは本当にイライラしています。私はなぜその状態がリセットされたのか理解できませんでした。
解決方法はありますか?
Reduxのような状態管理を使用していない場合、Reactだけを使用してルート間で状態を共有する正しい方法を探す必要があります。この記事の回答を見てみましょう:http://stackoverflow.com/questions/41108701/react-router-share-state-between-routes-without-reduxまたはGoogleのようなものです。「ルート間のルータ共有状態を反応させる」 – Jayce444