Réagir onClick à l'intérieur .la carte puis de modifier des données dans une autre composante de la fratrie

Jour 1 à Réagir et je ne suis pas voyant un moyen d'obtenir le < button> onClick={présent.accessoires de jeu.handleClickPlay}>Jeu < /button> à la lecture de l'audio. Si je le déplacer sous {audioListNodes} le bouton fonctionne très bien. J'aimerais avoir chaque lien lire un fichier audio distinct, par la suite mais pour l'instant simplement de jouer le même fichier est une victoire, mais le déplacement du gestionnaire d'événement dans la liste, il tue. Je suppose que c'est parce que CE n'est plus le référencement AudioList mais plutôt var de données? Une fois que j'ai le bouton de tir comment puis-je l'ID du bouton qui a été cliqué et modifier le AudioObject source?

    var data = [
{voice: "Drew", file:"Drew.mp3", volume: 90},
{voice: "Chris", file:"Chris.mp3", volume: 85},
{voice: "Patrick", file:"Patrick.mp3", volume: 85},
{voice: "Everett", file:"Everett.mp3", volume: 60},
];
var AudioList = React.createClass({
render: function() {
var audioListNodes = this.props.data.map(function(el, index) {
return (
<div author={el.voice}>
{el.file}
<button onClick={this.props.handleClickPlay}>Play</button>
</div>
);
});  
return (
<div className="audioList">
{audioListNodes}
</div>
);
}
});
var AudioObject = React.createClass({
play: function () {
var audio = this.getDOMNode();
audio.load();
audio.play();
},
render: function() {
return (
<audio preload="auto" controls="true" autoPlay="">
<source src='female/DeDe Splaingard.mp3'></source>
Your browser does not support audio.
</audio>
);
} 
});
var App = React.createClass({
handleClickPlay: function() {
this.refs.audioObject.play()
},
render: function() {
return (
<div>
<AudioObject ref="audioObject" />
<AudioList data={this.props.data} handleClickPlay={this.handleClickPlay} />
</div>
);
} 
}); 
ReactDOM.render(
<App data={data} />,
document.getElementById('content')
);

OriginalL'auteur Adam L | 2016-01-22