Нет необходимости в ref
с здесь - вместо этого просто передайте обратно весь story
вашему onClick
обратному вызову:
// instead of this
onClick={() => this.playAudio(story.playing_url)}
// do this
onClick={() => this.playStory(story)}
Затем вы можете setState
внутри playStory
, так что this.state.story
- это играющая в данный момент история.
playStory(story) {
this.setState({ story: story });
this.playAudio(story.playing_url);
}
А в вашем render
методе вы просто смотрите на this.state.story
:
var story_title = null;
if (this.state && this.state.story) {
story_title = <span className="story-title">{this.state.story}</span>;
}
return (
<!-- ... snip ... -->
<div className="progress-title">
{story_title}
</div>
);