javascript - 在事件处理程序中访问 React 组件参数
问题描述
我不确定我是否是最好的方法,但我正在尝试在 onMouseOver 事件处理程序中访问 React 组件的参数。
事件处理程序:
handleTabHover = event => {
this.setState({ indicatorColor: event });
};
反应组件:
<LinkTab
label="Dashboard"
to="/"
indicatorColor="gray"
onMouseOver={this.handleTabHover}
onFocus={this.handleTabHover}
/>
基本上,我希望event
在 handleTabHover 函数中成为LinkTab
组件,然后我可以访问它的“indicatorColor”参数来设置类indicatorColor
状态,但事实并非如此。我是 React 和 ES6 语法的新手,所以我确信我错过了一些关于事件处理程序参数如何工作的基本知识。
解决方案
基本上,我希望 handleTabHover 函数中的“事件”成为“LinkTab”组件,然后我可以访问它的“indicatorColor”参数来设置类“indicatorColor”状态,但事实并非如此。
是的,你不能那样做。
正确的方法是
<LinkTab
label="Dashboard"
to="/"
indicatorColor={Colors.Deloitte.Primary.coolGray2}
onMouseOver={() => this.handleTabHover(Colors.Deloitte.Primary.coolGray2)}
onFocus={this.handleTabHover}
/>
在你的处理程序中将是
handleTabHover = indicatorColor => {
this.setState({ indicatorColor });
};
推荐阅读
- javascript - 如何在 apache cordova 中使用 sweetalert?
- python - 如何自动让 API 密钥过期?
- sql-server - text、ntext 和 image 数据类型对局部变量无效。铸造后
- node.js - 猫鼬查询带有特殊字符的正则表达式
- css - 我的 Wordpress CSS 版本缓存更新问题
- django - 创建一个接受变量的自定义导入语句,用于导入 django 模型
- python - Split() 未按预期工作 #SettingWithCopyWarning ,无法理解错误
- git - 如何在使用 gitversion 修复错误后自动增加补丁版本
- windows - 如何使用 nginx-fpm 在 Windows 10 上使用 DDEV 创建虚拟主机?
- sql - 查询以比较医院人口普查中缺少患者的日期