【发布时间】:2020-01-24 04:16:30
【问题描述】:
我有一个组件和三个 div 标签。在div 标记之一中,我创建了onMouseOver 事件并尝试更改文本onMouseOver 的颜色。
React onMouseOver、onMouseEnter 事件和样式在 React 中动态变化。
import React from 'react'
function Middle() {
const styles = {
'text-align': 'center',
'padding': '30px',
}
function myName() {
styles.color = "green"
}
function noName() {
}
return (
<div className="middle">
<div id="cspace" style={styles} onMouseEnter={myName} onMouseLeave={noName}>
<h1>Hello World</h1>
</div>
</div>
)
}
export default Middle
我希望 div 中文本的颜色会发生变化。 我得到的输出是:
“无法添加属性颜色,对象不可扩展”
【问题讨论】:
-
为什么要使用
onMouseOver事件?您可以将:hover添加到 div 的 css 类中并以这种方式更改颜色。 -
1.你可以用钩子来做。 2.查看react-usestyles:github.com/andywer/react-usestyles
-
理想情况下,使用 CSS 是最好的方法
-
是的,你是对的:hover。我只是想了解为什么在使用函数更新对象后css更改在那个地方不起作用。
标签: javascript css reactjs event-handling mouseover