0

React js を使用して、既存のアプリケーションに新しい UI を実装する必要があります。これは、メニュー項目がクリックされた後にレンダリングされる反応コンポーネントです。メニューがクリックされるたびに、react の chrome dev tools プラグインが作成された新しいコンポーネントを表示することに気付きました。メモリの無駄じゃない?これは、Sammy.js によるメニュー アクティベーション コードです。

this.get('#/security',function(){
        this.swap("");
        React.render(
           <MainComponent/>,
           document.getElementById('content')
       );
    });
4

3 に答える 3

0

状態が変更された後の forceUpdate() は、コンポーネントの手動レンダリングの問題を解決する場合があります。

  this.forceUpdate();//manually renders components of each time the state changed
于 2016-05-19T10:38:59.550 に答える
0

ReactトップレベルAPIドキュメントによると:

ReactElement が以前にコンテナーにレンダリングされていた場合、これにより更新が実行され、最新の React コンポーネントを反映するために必要に応じて DOM のみが変更されます。

したがって、再レンダリングは新しいコンポーネントを作成するのではなく、前のコンポーネントを更新する必要があります。

ユースケースによっては、React アプリまたはコンポーネント内でメニュー クリックを処理し、内部で状態を更新して再レンダリングしたい場合がありますが、それができない場合があります。

于 2015-10-13T18:24:42.223 に答える