javascript - 如何在 react 中消失 "button"元素?

标签 javascript html css reactjs

    import React, { useState } from "react";
    import "./index.scss";

    export const LotteryForm = () => {
      const [text, setText] = useState("Enter your email address");

      function isSubmit() {
        setText("Thank you!" + `  ${email}`);
        // const btnEl = document.getElementsByName("button");
        // btnEl.style.display = "none";
      }


      return (
        <div>
          <button className="lottery__submit submit" 
            onClick={() => { isSubmit() }}>
            Submit email
          </button>
        </div>
      );
    };

你好。我目前正在学习 React(今天是第二天......)。我在这里想做的是,当用户点击按钮提交其电子邮件地址时,消失按钮元素并仅显示“谢谢”和提交的电子邮件地址。我尝试选择一个按钮元素并将其显示属性更改为“无”,但它不起作用。谁能告诉我如何在提交后消失按钮元素?

最佳答案

您可以使用状态来跟踪表单的提交状态和 conditional rendering仅在未提交时呈现按钮:

import React, { useState } from "react";
import "./index.scss";

export const LotteryForm = () => {
  const [text, setText] = useState("Enter your email address");
  const [isSubmitted, setIsSubmitted] = useState(false);

  function isSubmit() {
    setText("Thank you!" + `  ${email}`);
    setIsSubmitted(true);
  }


  return (
    <div>
      {!isSubmitted && 
        <button
          className="lottery__submit submit"
          onClick={isSubmit()}
        >
          Submit email
        </button>
      }
    </div>
  );
};

这是一个example行动中。

避免使用 DOM 操作来操作元素。

希望有帮助!

关于javascript - 如何在 react 中消失 "button"元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61524151/

相关文章:

javascript - 当用户从页面底部滚动 100px 时附加 div

javascript - 将 src 属性的特定部分替换为 iframe 元素

html - 将颜色值分配给 css 变量

JavaScript 无法与 API 通信

css - 是否可以添加 Myriad pro 字体,就像离线 Web 应用程序的自定义字体一样

javascript - 如何避免 Meteor 助手运行多次

javascript - 自动点击iframe

html - CSS:最小高度最小内容不适用于高度 vh-100

ios - 主动选择器 CSS 在 iOS 8.2、8.3、8.1.3 和 iOS 8.4.1 中无法正常工作

TableView 中的 JavaFX 单元格颜色