Cara, não me entenda mal mas alguém precisa falar.
Sei que vc deve estar empolgado e tal, mas sua biblioteca não resolve problema nenhum no gerenciamento de estado.
Muito pelo contrário...
Eu estava analisando o código e vc está armazenando o estado em uma variável global dentro do objeto Window!!
Isso é uma péssima prática há anos e tem inúmeros problemas de segurança. Sem contar que é um baita anti-pattern no React.
Fica aqui o alerta, abs!
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.