2016-08-30 10 views
1

私は何がベストプラクティスであるか疑問に思っています。すべてのコンポーネントをレンダリングするか、レンダリングを停止する必要がありますか?私はクリックでのみ表示される削除モーダルがあるとします。Reactjsコンポーネントのレンダリングを停止しますか?

は、私は私のそのrender()方法で、それは常に、必要なUIをレンダリングするように、あなたのDeleteModalコンポーネントを設計し、私のモーダル

render() { 
    // if something return false to stop rendering 
    return () 
} 
+1

[ドキュメント](https://facebook.github.io/react/docs/component-specs.htmlあなたは何も表示したくないことを示すためにnullまたはfalseを返すこともできます。リアクションでは、

+0

私は「ベストプラクティス」では100%ではありませんが、JSXコード内でアプリの条件に基づいてレンダリングするかどうかを/ elseがチェックするのが一般的です。公式ドキュメントについてはhttps://facebook.github.io/react/tips/if-else-in-JSX.htmlをご覧ください。 – httpNick

+0

はい。あなたが持っているものはまさにあなたがすべきことです。 –

答えて

3

のレンダリングに入れるべきです。そして、親コンポーネント、ダイアログを使用して一つに、あなたは条件付きでそれを表示/非表示:

render() { 
    return (
     <div> 
      some content here 
      ... 

      {showDeleteModal ? <DeleteModal /> : null}   
     </div> 
    ); 
} 
+0

これは私が推測するこの適切な方法です。 – PSo

関連する問題