Não há nada de errado em ter alguns componentes com estado.
zerkms
3
Isso depende completamente de onde o estado está sendo usado. Pense nas lojas redux como globais. Qualquer coisa que não precise ser global pode permanecer privada para um componente e seus filhos.
azium
Respostas:
139
Os usos claros de setStateseriam para componentes de interface do usuário que têm estado de exibição local, mas não são relevantes para o aplicativo global. Por exemplo, um booleano que representa se um menu suspenso específico é exibido ativamente não precisa estar no estado global, portanto, é mais convenientemente controlado pelo estado do componente de menu.
Outros exemplos podem incluir o estado de recolhimento / expansão de linhas em uma exibição de acordeão de uma hierarquia. Ou possivelmente a guia atualmente selecionada na navegação de guias. No entanto, em ambos os exemplos, você ainda pode escolher lidar com o estado da IU globalmente. Por exemplo, isso seria necessário se você quisesse persistir o estado de expansão / recolhimento no armazenamento do navegador para que fosse preservado pela atualização da página.
Na prática, geralmente é mais fácil implementar esses elementos de interface do usuário com o estado local e refatorá-los no estado global conforme necessário.
Respostas:
Os usos claros de
setState
seriam para componentes de interface do usuário que têm estado de exibição local, mas não são relevantes para o aplicativo global. Por exemplo, um booleano que representa se um menu suspenso específico é exibido ativamente não precisa estar no estado global, portanto, é mais convenientemente controlado pelo estado do componente de menu.Outros exemplos podem incluir o estado de recolhimento / expansão de linhas em uma exibição de acordeão de uma hierarquia. Ou possivelmente a guia atualmente selecionada na navegação de guias. No entanto, em ambos os exemplos, você ainda pode escolher lidar com o estado da IU globalmente. Por exemplo, isso seria necessário se você quisesse persistir o estado de expansão / recolhimento no armazenamento do navegador para que fosse preservado pela atualização da página.
Na prática, geralmente é mais fácil implementar esses elementos de interface do usuário com o estado local e refatorá-los no estado global conforme necessário.
fonte
setState
é totalmente aceitável : redux.js.org/docs/faq/…