Tutorial Passo a Passo para Criar Tela Modal de forma Simples com ReactJS, Next.js e TypeScript

Posted by

Criando Tela Modal de forma Descomplicada ReactJS – Next.js + TypeScript

Criando Tela Modal de forma Descomplicada ReactJS – Next.js + TypeScript

Introdução

Neste tutorial, vamos aprender a criar uma tela modal de forma descomplicada utilizando ReactJS com Next.js e TypeScript. As modais são componentes muito comuns em aplicações web para exibir informações adicionais ou solicitar ações do usuário sem sair da página atual.

Passo a Passo

  1. Crie um novo projeto Next.js com TypeScript:
  2. npx create-next-app --ts my-modal-app

  3. Crie um componente Modal dentro da pasta components:
  4. components/Modal.tsx

  5. No componente Modal, adicione a estrutura básica da modal utilizando o hook useState:

  6. import React, { useState } from 'react';

    const Modal = () => {
    const [isOpen, setIsOpen] = useState(false);

    const openModal = () => {
    setIsOpen(true);
    }

    const closeModal = () => {
    setIsOpen(false);
    }

    return (


    {isOpen && (

    ×

    Minha Modal

    Conteúdo da modal aqui...

    )}

    );
    }

    export default Modal;

  7. Estilize a modal utilizando CSS:

  8. .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    }

    .modal-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }

    .modal-content span {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    }

  9. Adicione o componente Modal na página inicial do seu projeto:
  10. pages/index.tsx

  11. Teste a funcionalidade da modal em sua aplicação Next.js:
  12. npm run dev

Conclusão

Parabéns! Você aprendeu a criar uma tela modal de forma descomplicada utilizando ReactJS com Next.js e TypeScript. As modais podem ser personalizadas de acordo com as necessidades de sua aplicação e oferecer uma experiência mais interativa para os usuários.

© 2022 DevMaster – Todos os direitos reservados

0 0 votes
Article Rating
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@LeanDevLima
3 months ago

Boa tarde, excelente conteúdo, pode por favor compartilhar o link do repositório onde está o código?