# 条件渲染

React 中的条件渲染和 JavaScript 中的一样,使用 JavaScript 运算符 if 或者条件运算符去创建元素来表现当前的状态,然后让 React 根据它们来更新 UI。

function UserGreeting(props) {
  return <h1>Welcome back!</h1>;
}

function GuestGreeting(props) {
  return <h1>Please sign up.</h1>;
}

function Greeting(props) {
  const isLoggedIn = props.isLoggedIn;
  if (isLoggedIn) {
    return <UserGreeting />;
  }
  return <GuestGreeting />;
}

export default Greeting;
import Greeting from "./components/Greeting";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(<Greeting isLoggedIn={true} />);

# 短路运算

不渲染

const count = false;
return (
  <div>
    {count && 
      <h1>Messages: {count}</h1>
    }
  </div>
);

渲染 <div>0</div>

const count = 0;
return (
  <div>
    {count && 
      <h1>Messages: {count}</h1>
    }
  </div>
);

# 三目运算

render() {
  const isLoggedIn = this.state.isLoggedIn;
  return (
    <div>
      The user is <b>{isLoggedIn ? 'currently' : 'not'}</b> logged in.
    </div>
  );
}

# 阻止渲染

在极少数情况下,你可能希望能隐藏组件,即使它已经被其他组件渲染。若要完成此操作,你可以让 render 方法直接返回 null,而不进行任何渲染。