Olá, obrigado pelo feedback.
Como eu estou desenvolvendo essa biblioteca há umas duas semanas, com certeza ainda há muito o que se melhorar.
Em relação ao armazenamento do estado, o window.REACT_TRIGGER_STATE
funciona para inicializá-lo.
Isto é, quando um componente é montado, verifica-se, no window.REACT_TRIGGER_STATE
, se há tal variável, se não existir, ele a cria, de outra forma, utiliza-se o valor disponível.
Depois disso, quando o state é alterado, o window.REACT_TRIGGER_STATE
é atualizado.
Mas o que compartilha, de fato, que X estado fora alterado é um CustomEvent
.
Por isso, cada estado tem um CustomEvent
associado a ele que monitora as atualizações.
Espero que tenha conseguido expor a minha ideia e do porquê de eu ter feito dessa forma.
Infelizmente, não consegui pensar numa forma de armazenar o state
sem utilizar o window
e o CustomEvent
ao mesmo tempo que não seja necessário encapsular toda a aplicação.
Mas, se você tiver alguma sugestão, eu ficaria muito feliz em te ouvir.
Obrigado pela crítica, ela é muito importante para o meu crescimento.