Hola:
Sobre el estilo background, no se trata de algo desaprobado, sino de un tipo de estilo que agrupa más propiedades, color, image, repeat, etc... cuando solo se quiere cambiar un color, creo que es mejor backgroundColor, pero para agrupar estilos va bien esto:
background = "red url(fondo.jpg) no-repeat center center";
Y los hover, en realidad se trata de un evento... ¿No te parece?
Claro que también se puede usar un "className".
Saludos