Minha crença naquele momento era que o estado global deveria ser passado via React Context para que funcionasse com o React Concurrent Mode. Então, fiz uma tabela comparativa para diferenciar minha biblioteca das demais, e o Zustand foi uma delas. Isso foi no ano de 2019.
Em 2020, entrei no grupo Poimandres e assumi o desenvolvimento do Zustand. Meu interesse naquela época era fazer com que bibliotecas estaduais globais funcionassem com o React Concurrent Mode. Não foi possível obter todos os benefícios do Modo Simultâneo, mas havia uma API experimental chamada useMutableSource para tornar o estado global compatível com o Modo Simultâneo.
Eu estava experimentando muitas coisas usando uma solução baseada em React Context com React-Tracked e me perguntei o que poderíamos fazer com o estado global sem React Context. Zustand tinha um ano, mas ninguém cuidava dele. Então, decidi assumir.
A API experimental useMutableSource não estava pronta, então a primeira tarefa foi atualizar várias coisas e corrigir alguns bugs. Foi quando o Zustand v3 nasceu. Minha esperança era lançar em breve a v4 com useMutableSource, mas isso não aconteceu. Há outra história por trás disso.
Hoje em dia, é um padrão bem conhecido ter o estado global externo e, opcionalmente, usar o React Context para passar seu armazenamento. Zustand foi pioneiro nesse padrão. As pessoas estavam muito céticas sobre não ter o estado global no React Context, e tivemos dificuldade em explicar que é um padrão válido.
Uma das coisas que me interessa no Zustand é sua implementação simples e seu pequeno tamanho de pacote. Se você olhar o código-fonte, verá que nada mais é do que apenas usar ganchos React com uma implementação mínima de armazenamento.
No momento da escrita, Zustand v4 é a versão mais recente, que tem suporte TypeScript muito avançado, e o código foi quase totalmente reescrito a partir da v3. Temos o Zustand v5 quase pronto para o próximo lançamento.
Por último, mas não menos importante, existem vários colaboradores que mantêm este projeto. Eu não esperava que isso acontecesse quando assumi o projeto. Estou muito grato por isso. Obrigado a todos.
","image":"http://www.luping.net/uploads/20240730/172233792466a8ca84b1d78.jpg","datePublished":"2024-07-30T19:12:03+08:00","dateModified":"2024-07-30T19:12:03+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Neste post, gostaria de compartilhar a história por trás do desenvolvimento do Zustand. Para ser mais preciso, eu não fui o autor original do Zustand e, quando o Zustand v0 nasceu, eu estava desenvolvendo outras bibliotecas de estado globais, especialmente React-Tracked. A propósito, agora me considero um autor (secundário) de Zustand.
Encontrei meu tweet mencionando Zustand, comparando-o com outras bibliotecas, incluindo a minha.
Minha crença naquele momento era que o estado global deveria ser passado via React Context para que funcionasse com o React Concurrent Mode. Então, fiz uma tabela comparativa para diferenciar minha biblioteca das demais, e o Zustand foi uma delas. Isso foi no ano de 2019.
Em 2020, entrei no grupo Poimandres e assumi o desenvolvimento do Zustand. Meu interesse naquela época era fazer com que bibliotecas estaduais globais funcionassem com o React Concurrent Mode. Não foi possível obter todos os benefícios do Modo Simultâneo, mas havia uma API experimental chamada useMutableSource para tornar o estado global compatível com o Modo Simultâneo.
Eu estava experimentando muitas coisas usando uma solução baseada em React Context com React-Tracked e me perguntei o que poderíamos fazer com o estado global sem React Context. Zustand tinha um ano, mas ninguém cuidava dele. Então, decidi assumir.
A API experimental useMutableSource não estava pronta, então a primeira tarefa foi atualizar várias coisas e corrigir alguns bugs. Foi quando o Zustand v3 nasceu. Minha esperança era lançar em breve a v4 com useMutableSource, mas isso não aconteceu. Há outra história por trás disso.
Hoje em dia, é um padrão bem conhecido ter o estado global externo e, opcionalmente, usar o React Context para passar seu armazenamento. Zustand foi pioneiro nesse padrão. As pessoas estavam muito céticas sobre não ter o estado global no React Context, e tivemos dificuldade em explicar que é um padrão válido.
Uma das coisas que me interessa no Zustand é sua implementação simples e seu pequeno tamanho de pacote. Se você olhar o código-fonte, verá que nada mais é do que apenas usar ganchos React com uma implementação mínima de armazenamento.
No momento da escrita, Zustand v4 é a versão mais recente, que tem suporte TypeScript muito avançado, e o código foi quase totalmente reescrito a partir da v3. Temos o Zustand v5 quase pronto para o próximo lançamento.
Por último, mas não menos importante, existem vários colaboradores que mantêm este projeto. Eu não esperava que isso acontecesse quando assumi o projeto. Estou muito grato por isso. Obrigado a todos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3