Casos de Uso Limitados
-
Enquanto as Server Actions podem simplificar certas tarefas, elas podem não ser adequadas para todos os casos de uso, especialmente quando se trata de interações complexas no lado do cliente e gerenciamento de estado.
-
Arquitetura Pode Ser Mais Complexa
- Agora que estamos dependendo do servidor para realizar parte do trabalho, precisamos garantir uma maneira consistente de lidar com erros, estados de carregamento e ações.
graph
subgraph "Client --> Next JS Server --> Database"
A1[Client] --> B1[Next JS Server]
B1 --> C1[Database]
end
subgraph "Client --> Next JS Server --> SQL API --> Database"
A2[Client] --> B2[Next JS Server]
B2 --> D2[SQL API/ Similar]
D2 --> C2[Database]
end
subgraph "Client --> Next JS Server --> API Routes --> SQL API --> Database"
A3[Client] --> B3[Next JS Server]
B3 --> E3[API Routes]
E3 --> D3[SQL API]
D3 --> C3[Database]
end
- Não há mais necessidade de rotas de API: Com as Server Actions, a necessidade de definir e gerenciar rotas de API separadas é eliminada.
- Melhor manejo de atualizações otimistas: As Server Actions oferecem uma abordagem mais eficiente para lidar com atualizações otimistas.
- Formulários são Progressivamente Aprimorados: Esta abordagem permite que os formulários sejam aprimorados progressivamente, melhorando a experiência do usuário.
- Menos uso de useEffect: Reduz a necessidade de usar o hook
useEffect
, simplificando o gerenciamento de estado e efeitos colaterais no React.P