А что это вы такое показали? - насколько я понял, огрызок какого-то метода. При каждом вызове создаётся новый объект audio, и работаете вы только с ним, в то время как доступ к предыдущему потерян после окончания предыдущего же вызова. Надо этот audio куда-то сохранять, чтобы иметь доступ между вызовами метода.
Как-то странно. Вызовы play и pause осуществляются в зависимости от значения status, а выбор отображаемой кнопки находится в зависимости от значения flag. Так кто у вас отвечает за воспроизведение - status или flag? Впрочем, неважно - знать я этого не желаю, разбирайтесь сами, вам виднее. Буду считать, что flag.
Делаете audio частью state (или просто свойством компонента), а возню с play/pause из render уносите в componentDidUpdate:
0xD34F, flag просто отвечает за то, какую иконку показывать(паузы или проигрывания), а status это состоянии из стора. Для того чтобы audio сделать частью state, нужно сделать примерно что-то такое?