What happens when the "Toggle Message" button is clicked?

4 phương ánCó giải thích
Đề bài
import React, { useState } from 'react';

function App() {
  const [showMessage, setShowMessage] = useState(false);

  const toggleMessage = () => {
    setShowMessage(!showMessage);
  };

  return (
    <div>
      <button onClick={toggleMessage}>Toggle Message</button>
      {showMessage && <p>This is a message!</p>}
    </div>
  );
}

export default App;

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "The state of the component is updated.". Lần theo mã: showMessage bắt đầu bằng false; mỗi lần bấm nút, hàm toggleMessage gọi setShowMessage(!showMessage) để đảo giá trị, tức tác động trực tiếp của sự kiện ở mọi lần bấm là cập nhật state của component; sau đó React mới render lại App, và biểu thức showMessage && cho đoạn p hiện ra khi state là true, ẩn đi khi là false. Nói thẳng, câu có nhiều phát biểu đúng một phần: ở lần bấm đầu tiên "The message is displayed." đúng thật, nhưng lần bấm thứ hai thông báo lại bị ẩn, nên nó chỉ đúng ở những lần bấm lẻ; "The message is hidden." chỉ đúng ở những lần bấm chẵn; "The component is re-rendered." cũng xảy ra, nhưng là hệ quả của việc state thay đổi chứ không phải việc handler trực tiếp làm. Vì vậy đáp án chọn điều luôn đúng ở mọi lần bấm và là nguyên nhân của các điều kia: state được cập nhật.

Cùng phần 4

Xuất hiện trong 1 bộ đề