簡體   English   中英

ReactJs:需要將卡換成另一張卡 onClick

[英]ReactJs: need to change Card into another card onClick

這是我的目標:登錄卡中有一個“新用戶”按鈕,點擊它,卡將變為注冊。 登錄卡將消失。 我在 material-UI 中所做的一切。

我在代碼和代碼中的代碼

當我單擊按鈕時,它顯示錯誤。 如果我在卡片外面制作這個按鈕,我可以使用 if-else 條件來顯示所需的卡片。 但我應該將按鈕保留在登錄表單中。

當我按下 Newuser 按鈕時,它是說使用 children 數組。 我該如何解決? 提前謝謝

您可以將 function 作為道具從您的父母傳遞給您的孩子,這將設置狀態為 boolean 以更改顯示的卡片。 這樣,按鈕就會留在您的孩子身上。

由於您有兩張卡片並且您想在它們之間切換 - 您需要有人來處理要顯示的卡片(它可能是它們的容器)。

您可以使用 state 來控制要顯示的卡,並基於 state 在它們之間切換:

const [isLogin, setIsLogin] = useState(true);
const handleRegister = () => {
    setIsLogin(false);
}

在登錄卡內 - 當您點擊“注冊”按鈕時,只需調用handleRegister function。

您的登錄卡需要獲取handleRegister function 以便在按下內部按鈕時調用它:

<Login user={user} setUser={setUser} handleRegister={handleRegister} />

您需要根據isLogin變量的值來決定顯示哪個元素(登錄名或寄存器):

{isLogin ? <Login user={user} setUser={setUser} handleRegister={handleRegister} /> : <Register />}

這是一個工作示例: https://codesandbox.io/s/happy-moore-8miyc?file=/src/Login.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM