javascript - onClick 功能在 React 组件中没有按预期工作
问题描述
所以我有这个组件ExpenseItem
。我试图onClick
在子组件上使用Card
。首先我尝试在括号内放置一个箭头函数,但它不起作用。然后我在 return 之外初始化了箭头函数,并试图将函数放在onClick 括号内,但我不确定为什么它仍然不起作用。这是代码:
import React from 'react';
import '../styles/ExpenseItem.css';
import ExpenseDate from './ExpenseDate';
import Card from '../Card.jsx';
const ExpenseItem = (props) => {
const clickHandler = () => alert('im working');
return (
<Card className='expense-item' onClick={clickHandler}>
<div>
<ExpenseDate date={props.date} />
</div>
<div className='expense-item__description'>
<div className='expense-item__descbox'>
<h2>{props.title}</h2>
<span>{props.type}</span>
</div>
<div className='expense-item__price'>{props.amount}</div>
</div>
</Card>
)
};
export default ExpenseItem;
谢谢。
解决方案
您还需要onClick
在您的Card
组件上实现。
你可以对你的Card
:
const Card = (props) => {
return (
<div className="card" {...props}>{props.children}</div>
);
}
或者
const Card = (props) => {
return (
<div className="card" onClick={props.onClick}>{props.children}</div>
);
}
推荐阅读
- python - Pandas groupby 有条件地查找 timedelta 列的平均值
- excel - 使用 Excel VBA 从不同工作簿引用索引/匹配公式中的文件路径变量
- xamarin.forms - Xamarin.Forms 使用 SQLite - 如何更新特定列的所有数据?
- c# - ASP.net core 3.1 List 填充在 onGet 但不在 OnPost 中。绑定它的正确方法是什么?
- java - 杰克逊在序列化过程中添加了不存在的字段
- google-cloud-platform - 取消 GCP 数据存储中的字段索引,以提高性能(调整数据存储)
- python - 如何创建为提到的用户赋予角色的机器人命令 | 不和谐.py
- objective-c - Objective-C - 如何打开 .csv 文件?
- c - 如何使用内核哈希表 API?
- java - 使用布尔值从用户字符串 java 输入验证