Resumo do Next.js 14 para você! (Componentes e Ações do Servidor)

Posted by


Olá! Neste tutorial, eu vou te explicar sobre o Next.js 14 e suas novas funcionalidades de Server Components e Actions. Vamos começar!

O Next.js 14 é a última atualização do popular framework de React. Ele traz algumas novidades importantes, sendo as mais chamativas os Server Components e Actions. Vamos ver o que são essas novas funcionalidades e como você pode utilizá-las em seu projeto.

Server Components:

Os Server Components no Next.js 14 permitem que você divida seu aplicativo em partes que são renderizadas do lado do servidor. Isso significa que você pode ter componentes que são renderizados apenas uma vez no servidor e então são enviados para o cliente para serem usados em todo o aplicativo.

Para criar um Server Component, basta adicionar a tag especial em seu arquivo JSX e definir a função para renderizar o componente no lado do servidor. Por exemplo:

// MyComponent.jsx

import { ServerComponent } from 'next/server';

export default function MyComponent() {
  return (
    <ServerComponent>
      {() => <h1>Hello, Server Component!</h1>}
    </ServerComponent>
  );
}

Dessa forma, o componente será renderizado no servidor e enviado para o cliente de forma eficiente. Isso pode melhorar o desempenho do seu aplicativo, especialmente em casos de renderização pesada.

Actions:

As Actions são outra novidade do Next.js 14 que permitem que você crie funções do lado do servidor que podem ser chamadas do cliente. Isso é útil para tarefas como processamento de formulários, chamadas a APIs externas ou qualquer outra operação que precisa ser feita no servidor.

Para criar uma Action, basta adicionar a tag em seu arquivo JSX e definir a função que será executada no servidor. Por exemplo:

// MyAction.jsx

import { Action } from 'next/server';

export default function MyAction() {
  return (
    <Action handler={doSomethingOnServer}>
      {({ run }) => (
        <button onClick={run}>Execute Action!</button>
      )}
    </Action>
  );
}

// Função para ser executada no servidor
function doSomethingOnServer() {
  console.log('Action executada no servidor!');
}

Dessa forma, quando o botão for clicado, a função doSomethingOnServer será executada no servidor. Isso permite que você tenha controle sobre o que acontece do lado do servidor a partir do cliente, de forma segura e eficiente.

Com essas novas funcionalidades de Server Components e Actions, o Next.js 14 proporciona uma experiência de desenvolvimento mais robusta e escalável. Experimente essas funcionalidades em seu projeto e veja como elas podem melhorar a performance e a segurança de sua aplicação.

Espero que esse tutorial tenha sido útil para você! Se tiver alguma dúvida ou precisar de mais detalhes, fique à vontade para perguntar. Obrigado por ler e boa sorte em seus projetos com o Next.js 14!

0 0 votes
Article Rating
31 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@rocketseat
2 months ago

A OFERTA que TODO MUNDO não para de pedir será liberada: https://rseat.in/ENt90Atzj

@allanrodrigues2486
2 months ago

video maravilhoso kkkkkk parabens mano. de hoje que eu to estudando next e sua didatica foi incrivel, parabéns.

@MrGustavotorregrosa
2 months ago

@Rocketseat, muito bom! pfv, qual extensao vc usa pro resultado do console.log aparecer na linha em q vc chamou?

@wesleymauriciodeandrade6412
2 months ago

muito bom o conteudo … fiz o codigo , e tentei fazer um botao excluir meus slugs, mas por estar do lado do servidor deu ruim, aguem aqui pode me ajudar

@GMP93
2 months ago

O erro em 16:00 pra frente é que quando utiliza Server Action, não precisa especificar method e encType no formulario. Vc especificou method e não precisa, o nextjs já trata isso

@paulocbbf
2 months ago

Está dando SSRF no semgrep-sast ao usar um fetch no auth.ts. Estou me autenticando usando API externa com o provider Credentials…

@fernandev2164
2 months ago

Eu posso usar esse Json serve para buscar dados? tenho um array de objetos cheio de dados e na página tenho que usar alguns desses dados dependendo do cliente. Ou melhor usar uma API local? Obs: se eu usar o Json serve na hospedagem vai funcionar normalmente em produção?

@Davizin18
2 months ago

ótimo conteúdo, achei muito massa!

@Andrewscarlosreis
2 months ago

posso utilizar uma função para fazer CRUD no banco usando o use-server?

@marcella3030
2 months ago

Vim pegar um resumo de next, porque já trabalhei com react e fiz projetos pessoais com next pois na minha empresa era sem ele. Ai mudei de empresa e hoje nao uso mais React, só que não queria perder tudo de bagagem que eu tinha né, ai to aqui pra tentar pegar um resumo daas coisas hoje.

Sem condições cara :,( ….
Ele ja falou sei la quantos termos novos, e olha que nem parei de trabalhar com react faz tanto tempo. Eu percebi que se eu não quiser perder minha bagagem, vou ter q estudar react de novo como se nunca tivesse visto.

React, não sei os outros framew. pra frontend, está sem condições. É todo dia mil tech nova que surge, ao invés de evoluir oq já existe, acho que acaba sendo por isso que outras linguagens e ecossistemas tipo C# e Java acabam sendo mais maduros.

Obs.: adoro js

Mas ta sendo tanta revolução que daqui a pouco a gente volta pro começo da roda.

@ruanm.1130
2 months ago

mt bom

@pzglevi5611
2 months ago

mano, cara é bom viu, espero um dia esta nesse nivel de conhecimento.

@mantovaniarts
2 months ago

No caso de um login por ex q retorna um token, eu consigo recuperar o retorno ou só mesmo usando api pra fazer assíncrono?

@LksNunss
2 months ago

@rocketseat Neste caso (que é similiar ao meu). Temos um servidor API e mais o servidor do Next.js. Usando "server components" não traria uma delay maior, uma vez que cada request do Client será mandada primeiramente para o servidor Next.js e este irá fazer uma request para o servidor API, tendo 2 requisições. Faz sentido usar "server components" e "actions" quando se tem um servidor de API separado?

@cristoff184
2 months ago

Cara, que conteúdo bom.
Continua trazendo novidades das ferramentas, por favor!

@samuelsantanna6724
2 months ago

Qual o nome dessa extensão que mostra o console ?

@d.yuriiii2449
2 months ago

Utilizando npm run dev funciona perfeitamente, porém, quando rodo o build (npm run build) aparece o seguinte erro: Module not found: Can't resolve 'react-server-dom-webpack/client' .A única diferença é que eu estou utilizando o useFormState do 'react-dom' para o tratamento de erros… Alguém sabe o que pode ser?

@MatheusPereira-nn9dj
2 months ago

Uma pergunta :

a Suspense API representa a mesma coisa que a dynamic API ???

@jr10.juninho
2 months ago

Poderia criar um projeto pra desenvolver um blog com N.Js

@AmodeusR
2 months ago

18:20 Poderia só fazer um revalidatePath com o nome da rota, muito mais simples.