問題タブ [rerender]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - React JSX:親コンポーネントの再レンダリングが子コンポーネントを再マウントするのは正常ですか?
React アプリのルート コンポーネントには、次のようなものがあります。
App コンポーネントが setState または forceUpdate() を介して再レンダリングされると、子コンポーネントが実際に再マウントされることに気付きました (つまり、componentWillUnmount、componentWillMount、componentDidMount が更新ごとに呼び出されます)。私が期待する動作は、Child コンポーネントの render 関数だけが再度呼び出されることです。最近、React-router 4.x にアップグレードしたので、これに関連しているかどうかはわかりません。
これが仕様によるものかどうか誰かに教えてもらえますか? componentDidMount を複数回呼び出すと、データをフェッチしようとすると問題が発生します。サイズ変更中に、その高価な操作を何度も実行したくありません。
アップデート:
この問題の考えられる原因を見つけました。複数のネストされたコンポーネントがあり、プロジェクト全体を投稿するのは難しいため、問題の原因となっている実際のコードを投稿するのが難しい場合があります。しかし、私はこれだと思います:
ここでは、ルート (React-router 4.x) 内のコンポーネントに props を渡そうとしています。これを行うには、ホームページを作成する関数を提供します。これは、レンダリングのたびにホームページを再作成する可能性があります。
問題は、ルート内のすべてのレンダリングでページを再作成せずに小道具を渡す方法ですか?
angular - 別のコンポーネントから特定のコンポーネント テンプレートを再レンダリングする方法は? 角度 2
angular 2 html template を再レンダリングしようとしていますが、調査の結果、NgZone を使用する必要があることがわかりました。だから私がやっていることは、メインコンポーネントでナビゲーションバーコンポーネントを呼び出し、それが userdetails コンポーネントを呼び出します。
userdetails コンポーネントには、名前などのユーザーの詳細が表示されます。ユーザーの名前を変更する別のコンポーネントがあります。そのため、名前を変更しても、ナビゲーション バー (userdetails コンポーネント) の名前は変更されません。
だから私は私の変更の詳細コンポーネントでそのようにしようとします usedetails コンポーネントを初期化し、そこからメソッドを呼び出します.コンソール。
SO http 終了直後に名前を更新すると、コンソールで新しい名前を受け取りますが、ナビゲーションバーでは名前は同じままです。
これまでのところ、唯一の解決策はウィンドウのリロードです...しかし、ユーザーは変更に何が起こったのか分からないため、これはユーザーフレンドリーではありません。
だから私は何かをスキップしていますが、何ですか?
前もって感謝します !
reactjs - Store を更新しても Redux が再レンダリングされない
Store を更新し、コンソールにログオンしましたが、コンポーネントの内容は変わりません。レンダー関数で質問をレンダリングします。これが私のレデューサーです。質問[0]を更新しましたが、何も変わりません。
レンダリング機能