css 使用< a>React为标记加下划线

2exbekwf  于 2022-11-26  发布在  React
关注(0)|答案(3)|浏览(212)

我想知道如何在不使用className的情况下为react中的两个标记给予样式(因为不使用className是主要的挑战)。

<a href="">Menu Here</a>
<a href="">Click Me </a>

因此,对于“咖喱dish”,它应该只在鼠标悬停时加下划线。而对于“click me”,它应该先加下划线,然后在鼠标悬停时消失。我使用下面的代码删除了这两个下划线。但仍然不知道如何应用单独的样式,请帮助。

a: hover {
  text-decoration: underline;
}
qnzebej0

qnzebej01#

**Tags in react without using the className:**

<span style={{color: "red",cursor: "pointer",
text-decoration: underline !important }}> 
<a href="">Menu Here</a>

</span>
bkhjykvo

bkhjykvo2#

如果您没有使用CSS,您可以使用一个简单的有状态响应组件来实现这一点。

const UnderlineHover = ({children, ...rest}) => {
  const [isHover, setIsHover] = useState(false);

  const style = isHover ? {textDecoration: "underline"} : {};

  return <a onMouseEnter={() => setIsHover(true)}
    onMouseLeave={() => setIsHover(false)}
    style={...style}
    {...rest}
  >{children}</a>;
};
izj3ouym

izj3ouym3#

您可以尝试使用状态和样式,如=〉

const [hover,setHover] = useState("")
const handleMouseEnter =()=>{
setHover(true)
}
const handleMouseExit =()=>{
setHover(false)
}
const linkStyle = {
text-decoration: hover? underline:none;
}
return(
<a href="" style={linkStyle} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseExit}>Menu Here</a>
<a href="" style={linkStyle} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseExit}>Click Me </a>
)

希望这将有助于解决你的问题。如果你仍然面临的问题只是让我知道,我会帮助你更多。谢谢

相关问题