reactjs - 如何使用 useState 有条件地渲染?
问题描述
我正在尝试使用 useState 有条件地渲染一个 div,但对于我的生活,我无法弄清楚如何去做。我想我很接近但我看不出我做错了什么,我完全误解了如何做到这一点。我究竟做错了什么?我已经写了这个,它不起作用..
import React, { useState } from 'react'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faWindowClose } from '@fortawesome/free-solid-svg-icons'
function ElementMenuHeader() {
const [elementMenuOpenClose, setElementMenuOpenClose] = useState(true)
const handleClick = () => setElementMenuOpenClose(false)
return (
<div id="App-Close-Element-Menu-Container"
style={{ display: elementMenuOpenClose ? 'block' : 'none'}}
>
<button id="App-Close-Element-Menu"
onClick={() => handleClick }
>
<FontAwesomeIcon icon={faWindowClose} />
</button>
</div>
);
}
export default ElementMenuHeader
理想情况下,我也希望能够elementMenuOpenClose
从其他组件设置状态,但我想我会先过这座桥。
解决方案
您可以只使用三元运算符并检查运算符条件中的状态,根据状态返回您想要的 div:
{(elementMenuOpenClose? <div>some tags A </div>: <div>Some tags B </div>)}
推荐阅读
- python - 解压缩 .gz 文件以创建新行分隔的 json 文件 - 创建新行时出现问题
- python - 从 keras fit_generator() 到模型输入层的转换如何准确工作
- java - 终止线程似乎不起作用
- python - 通过服务帐户连接的 Python googleads 库。错误:AttributeError:“str”对象没有属性“CreateHttpHeader”
- c - 在嵌入式系统中使用 c 中的可变长度数组有问题吗?
- xcode - 如何获取多窗口 SceneDelegate Xcode 11 的当前键窗口等效项?
- ios - 在 ios 中接收没有通知警报的 Firebase 云消息传递
- grafana - 访问目标仪表板中的单元格链接值
- sql - 错误:语法错误:应为“)”,但在子查询中得到语句结束语句
- rust - 如何用 Rust 实现应用程序状态?