在 React JS 的变量类型函数中切换文本

Toggle text within a variable type function in React JS

假设我有一个函数:

import React from "react";

const Test = () => {
  return (
    <React.Fragment>
      <h1>Hello World</h1>
    </React.Fragment>
  );
};

export default Test;

我想用一个按钮打开和关闭 Hello World 文本。我将如何实现这一目标?我看过:

  1. How React.js Toggle Button Works

  2. React js onclick toggle class in map function

其中 none 真的很有帮助。他们使用了 this.state,我得到了一个类型错误,然后我开始考虑是否应该使用变量类型函数,因为我看过的所有教程都使用 class。所以我的问题是,如何在变量类型函数中实现切换文本?

如果您需要更多信息,或者我的问题措辞不当,请告诉我。很感谢任何形式的帮助。谢谢!

this.state 在您的功能组件中没有任何意义。

相反,您可以这样做:

import React, { useState } from "react";

const Test = () => {
  const [showText, setShowText] = useState(false);
  return (
    <React.Fragment>
      {showText && <h1>Hello World</h1>}
      <button onClick={() => setShowText(!showText)}>Toggle</button>
    </React.Fragment>
  );
};

我们使用 useState 创建一些状态并将其初始值设置为 false(即不应显示文本)。

然后在我们按钮的 onClick 属性 中,我们可以通过设置 showTexttruefalse 之间切换状态值,并使用它来有条件地呈现文本。

sandbox example