18.React|条件付きレンダー
以前はjQueryを使ってたのでコンポーネントとか出てこなかったけど、Reactでの条件分岐はコンポーネントにプロパティの値を与えてその値を元に条件分岐するといったやり方になる。
まだ慣れが必要なのでメモ。
React における条件付きレンダーは JavaScript における条件分岐と同じように動作します。if もしくは条件演算子のような JavaScript 演算子を使用して現在の状態を表す要素を作成すれば、React はそれに一致するように UI を更新します。
function UserGreeting(props) { return <h1>Welcome back!</h1>; } function GuestGreeting(props) { return <h1>Please sign up.</h1>; }
ユーザがログインしているかどうかによって、これらのコンポーネントの一方だけを表示する Greeting コンポーネントを作成しましょう:
function Greeting(props) { const isLoggedIn = props.isLoggedIn; if (isLoggedIn) { return <UserGreeting />; } return <GuestGreeting />; } ReactDOM.render( // Try changing to isLoggedIn={true}: <Greeting isLoggedIn={false} />, document.getElementById('root') );
この例では isLoggedIn プロパティの値によって異なる挨拶メッセージを表示します。