Rumah  >  Artikel  >  hujung hadapan web  >  Apakah kaedah rendering yang berbeza untuk bertindak balas?

Apakah kaedah rendering yang berbeza untuk bertindak balas?

青灯夜游
青灯夜游asal
2022-03-22 14:06:312959semak imbas

Kaedah pemaparan tindak balas termasuk: 1. Perenderan menggunakan ungkapan bersyarat, sesuai untuk pemaparan dua komponen 2. Perenderan menggunakan operator "&&", sesuai untuk pemaparan dengan atau tanpa komponen 3. , Gunakan output berubah komponen untuk rendering; 4. Gunakan kaedah berfungsi untuk mengeluarkan komponen atau menggunakan komponen berfungsi untuk rendering.

Apakah kaedah rendering yang berbeza untuk bertindak balas?

Persekitaran pengendalian tutorial ini: sistem Windows 7, bertindak balas versi 17.0.1, komputer Dell G3.

Beberapa cara untuk memaparkan komponen React secara bersyarat

1 daripada dua)

render() {
  const isLoggedIn = this.state.isLoggedIn;
  return (
    <div>
      {isLoggedIn ? (
        <LogoutButton onClick={this.handleLogoutClick} />
      ) : (
        <LoginButton onClick={this.handleLoginClick} />
      )}
    </div>
  );
}

2. && pemaparan operator (terpakai untuk pemaparan komponen dengan atau tanpa)

function Mailbox(props) {
  const unreadMessages = props.unreadMessages;
  return (
    <div>
      <h1>Hello!</h1>
      {unreadMessages.length > 0 &&
        <h2>
          You have {unreadMessages.length} unread messages.
        </h2>
      }
    </div>
  );
}

3. Gunakan pembolehubah untuk mengeluarkan pemaparan komponen (sesuai untuk pemaparan dengan berbilang komponen dalam pelbagai keadaan)

render() {
    const isLoggedIn = this.state.isLoggedIn;
 
    const button = isLoggedIn ? (
      <LogoutButton onClick={this.handleLogoutClick} />
    ) : (
      <LoginButton onClick={this.handleLoginClick} />
    );
 
    return (
      <div>
        <Greeting isLoggedIn={isLoggedIn} />
        {button}
      </div>
    );
  }

4 komponen (sesuai untuk situasi di mana berbilang subkomponen perlu dikeluarkan berdasarkan keadaan kompleks)

1. Pendekatan fungsional

renderButton(){
    const isLoggedIn = this.state.isLoggedIn;
    if(isLoggedIn)
    {
       return (<LogoutButton onClick={this.handleLogoutClick} />);
    }
    else
    {
      return (<LoginButton onClick={this.handleLoginClick} />);
    }
}
 
render() {
    return (
      <div>
        <Greeting />
        {this.renderButton()}
      </div>
    );
  }

2 >

[Cadangan berkaitan:
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(&#39;root&#39;)
);
Tutorial video Redis

]

Atas ialah kandungan terperinci Apakah kaedah rendering yang berbeza untuk bertindak balas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn