Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

273
Views
React Radium Library CSS: el selector de desplazamiento cambia el color de texto base aleatorio previamente elegido

Estoy trabajando en un sitio web personal que presenta texto de estilo aleatorio para el encabezado. Actualmente solo está aleatorizando la fuente y el color (aunque planeo agregar más) y lo estoy logrando eligiendo un valor de una lista predefinida de cadenas. Dado que la aleatorización debe ocurrir en JavaScript, todo el estilo se realiza a través del estilo en línea de React (en una const llamada StyleObj). Para personalizar aún más mi texto, instalé la biblioteca Radium, que me permite usar el selector CSS :hover. Mi problema proviene del hecho de que, aparentemente, el selector :hover está implementado de alguna manera que fuerza una recompilación de mi StyleObj y, por lo tanto, vuelve a dibujar una fuente y un color aleatorios. ¿Hay algo que pueda hacer para mantener el color o la fuente asignados previamente después de que se desplace el cursor mientras conservo mi objetivo de asignar fuentes y colores al azar al hacer clic?

Además, los colores y las fuentes son temporales. jajaja

 import React, { useState } from 'react'; import Radium from 'radium'; import "./Navbar.scss"; /* Handles switching the word on click */ function renderSwitch(param) { switch(param) { case 0: return 'Dylan Dalal'; case 1: return 'Portfolio'; default: return 'Dylan Dalal'; } } function Navbar() { var colors = ["#ff9079", "#ffc879", "#c6ff79", "#d479ff"]; const randomColor = colors[Math.floor(Math.random() * colors.length)]; var fonts = ["Toonish", "Hit me, punk! 01", "Neon Tubes 2 Regular", "You are a TOY", "Pacifico"]; const randomFont = fonts[Math.floor(Math.random() * fonts.length)]; const StyleObj = { position: "fixed", height: "60px", fontSize: "9vw", paddingTop: "35vh", textEmphasis: '$', color: randomColor, fontFamily: randomFont, ':hover':{ color: 'black' }, }; const [click, setClick] = useState(""); const clickHandler = () => setClick((click + 1) % 2); return ( <> <nav className="page"> <div unselectable className="page-select" style={StyleObj} onClick={clickHandler}> {renderSwitch(click)} </div> </nav> </> ); } export default Radium(Navbar);
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!