reactjs - 在组件 onClick 中反应加载
问题描述
我试图在单击按钮时加载组件,但是当我单击下面代码中的按钮 () 时,似乎没有发生任何事情。我只是想显示一条复制的消息,然后在它显示给用户选择的文本被复制到他们的剪贴板后不久让它消失。
这是我当前的代码:
import React, { useState } from 'react'
import Clipboard from 'react-clipboard.js';
const AddComponent = () => {
console.log("copied")
return (
<p className="copied">copied to clipboard!</p>
)
};
export default function Item(props) {
const { itemImg, itemName } = props
return (
<>
<Clipboard data-clipboard-text={itemName} onClick={AddComponent} className="item-container display-flex">
<img src={itemImg} alt={itemName} className="item-img" />
<h3>{itemName}</h3>
</Clipboard>
{AddComponent}
</>
)
}
解决方案
您将希望拥有onClick
一个常规函数而不是功能组件,并在常规函数中实现一些逻辑来更新状态Item
以记录剪贴板被单击。然后在中Item
,而不是总是包含<AddComponent />
,仅根据 的状态包含它Item
。
推荐阅读
- regex - 正则表达式排除一长串数字
- c# - 无法添加对已安装 NuGet 包的引用?
- java - 如何在我的场景中解决 Firestore 基本查询
- javascript - 获取骨灰盒模型基本情况的所有组合
- css - 我的字体没有在浏览器中显示
- tcl - 如何使用 struct::graph(::op) 找到两个节点之间的最短路径?
- clojure - 干净地更新定义类型的类的字段
- javascript - 按键功能
- content-management-system - Netlify 管理和应用更改到多个 NetlifyCMS 站点
- r - r igraph - 根据节点的公共连接和与第三个节点的相同类型的关系创建节点之间的关系