haben eine einfache Musik-App, die ich mache. Ich habe 7 Radiostation-Tasten eingerichtet, um die gleichen Elemente auf 7 verschiedene Arten zu aktualisieren. Ich möchte den MP3-Dateipfad (src-Attribut), den Namen des Songs, den Namen des Künstlers und den Namen der Station aktualisieren.Wie kann ich mit React mehrere Elemente mit unterschiedlichen Werten aktualisieren?
Dies ist ein Beispiel dafür, wie es in meinem jQuery-Code sieht ...
$('.deg295').click(function() { //One of the buttons
$('audio source').attr('src', 'music/panda.mp3'); //The mp3 filepath
$('.labels p:nth-child(1) em').text("Urban Beach Radio") //The station name
$('.labels p:nth-child(2)').text("PANDA"); //The song name
$('.labels p:last-child').text("Desiigner"); // The artist name
radio.load();
radio.play();
});
Inzwischen hier die fragliche Komponente ist ...
var React = require('react');
let rock = require('../images/pngs/rock.png');
let none = require('../images/pngs/none.png');
let blue = require('../images/pngs/blue.png');
let flash = require('../images/pngs/flash.png');
let estim = require('../images/pngs/estim.png');
let urban = require('../images/pngs/urban.png');
let intl = require('../images/pngs/intl.png');
//The radioClass prop == "radio"
export default class Radio extends React.Component {
render() {
return (
<section className={this.props.radioClass}>
<div className="septagon">
//These are the 3 labels I want to update onClick
<div className="labels">
<p>
<em></em>
</p>
<p>Radio</p>
<p>Off</p>
</div>
//The 7 buttons are below
<span className="deg40"><img src={rock} alt="" /></span>
<span className="deg90"><img src={none} alt="" /></span>
<span className="deg140"><img src={blue} alt="" /></span>
<span className="deg195"><img src={flash} alt="" /></span>
<span className="deg245"><img src={estim} alt="" /></span>
<span className="deg295"><img src={urban} alt="" /></span>
<span className="deg345"><img src={intl} alt="" /></span>
//The audio element with the mp3 filepath that I also want to update
<audio id="playmusic" preload="none">
<source type="audio/mpeg" src="" id="audio"/>
</audio>
</div>
</section>
)
Also macht Ihr jquery Code den Job? –
Ja, obwohl die Version, die ich zeigte, refaktorisiert werden muss (seit ich kopiert und eingefügt habe, anstatt eine Funktion mit Parametern zu erstellen) – Matiny