Amigo, ainda estou estudando react, mas pelo o que estudei até agora acho que daria pra fazer um state no App que receba todos os sons ativos e quando alguém clicar nesse botão de limpar, ele passa um state vazio.
O ideal é que para estados globais não seja gerenciados por um state padrão, isso pode chegar a ser um prop drilling. Eis o motivo de ele estar usando Zustand - imagino.
Ainda não usei Zustand, mas vi que é algo mais simplificado que o Redux.
Imagino que para esta ação seja ideal um estado específico, um "mute global", porque limpando todos os estados acabaria perdendo a informação de quais sons estavam ativos para um possivel "desmute global".
Esse estado geral poderia até ser usado dentro mesmo do componente como condicional, caso dê. A ideia do Effect vem mais de uma necessidade de executar um handle (acho que é esse o caso).
Obrigado KlayverXD, vou pesquisar mais sobre!
Como disse, ainda estou em fase de estudo do React. Vou adicionar isso que você comentou no meu mapa de estudo.
Eu até já tenho um controlador de volume global que da pra mutar tudo e desmutar, a ideia era realmente de limpar sons ativos, desligar todos de uma vez, pra esse cenário em específico não precisaria saber quais estão ativos pra voltar depois.
Gostei muito da ideia do @thiagoomatheus, eu poderia implementar outras features usando esse padrão inclusive.
Sobre eu estar usando o Zustand, é puramente uma questão de DX, não cheguei a comparar ele com o Redux feature-a-feature e outras questões como performance, então não sei dizer qual é melhor no setindo de possibilidades, mas o Zustand é infinitamente mais simples de se lidar, e ta me atendendo muito bem, até então. Porisso escolhi ele.