javascript - 显示所有按钮 - JSX 逻辑
问题描述
我正在尝试开发一个按钮,一旦我点击它,我就会显示我的购物清单上所有可用的物品。但我正在努力将所有部分放在一起并提出正确的语法。
我有一个包含 20 个项目的数组,我希望最初只有 15 个(我假设我必须在那里使用 useState?)显示在屏幕上。一旦我单击按钮,它将显示我的购物清单数组中的所有项目。任何机构都可以帮助我构建此功能吗?谢谢 :)
const showAll = useCallback(() => {
const availableItems = items;
if (availableItems > 15) {
//STRUGGLING
}
}, []);
return (
<div className="items.container">
<ul className="shoplist-items">
{items.map((item, i) => {
return (
<li className="items">
<div className="single-item" key={i}>
{item}
</div>
</li>
);
})}
</ul>
<div className="show-all-container">
<p onClick={showAll}>Show all</p>
</div>
</div>
);
解决方案
使用 react 中的 useState 钩子,仅使用 15 个元素来初始化您的可用项目,并映射 avaibleItems 而不是项目,并且 onClick 只需设置 avaibleItems:
const [avaibleItems, setAvaibleItems] = useState(items.slice(0,15);
const showAll = () =>{ setAvaibleItems(items)}
推荐阅读
- javascript - 如何用单词隐藏整行文本
- whatsapp - 使用 HTML 或 JavaScript 在 Web 上的 WhatsApp 上发送消息
- php - 如何将表单值插入 shell_exec
- react-native-sensors - react-native-sensors 所有三个传感器读数
- tensorflow - TFLite:缓慢的 GPU/CPU 同步
- javascript - 排序功能
- html - 背景图像需要给内部 div 空间
- android - 无法为 org.gradle.api.Project 类型的项目“:app”获取未知属性“文件”
- mysql - 统计同一天订阅和取消订阅的用户总数
- python - 如何使用python根据包含在其中的日期对句子进行排序