Propriedades do React - Props


As props (abreviação de “propriedades”) em React são um mecanismo essencial para a passagem de dados entre componentes. Elas permitem que informações fluam de um componente pai para um componente filho, permitindo a criação de interfaces dinâmicas e reutilizáveis.

  • As props são somente leitura. O componente filho não pode modificar diretamente as props que recebe do componente pai.

  • A passagem de dados através de props segue o padrão unidirecional (do pai para o filho). Isso significa que as props fluem de cima para baixo na hierarquia de componentes.

As props são basicamente objetos JavaScript que contêm dados específicos passados ​​de um componente pai para um componente filho. Elas são definidas no componente pai e acessadas no componente filho como parâmetros da função de componente.

// Componente Pai
import React from 'react';
import Filho from './Filho';
 
const Pai = () => {
  const mensagem = 'Olá, mundo!';
  
  return <Filho mensagem={mensagem} />;
};
 
// Componente Filho
const Filho = (props) => {
  return <p>{props.mensagem}</p>;
};

No exemplo acima, o componente Pai passa a mensagem para o componente Filho através de uma prop chamada mensagem. O componente Filho recebe essa prop e a utiliza na renderização.

Utilização de Props em componentes funcionais

Em componentes funcionais, as props são passadas como argumentos para a função do componente. Utilizando a desestruturação, é possível acessar props específicas de maneira mais concisa:

const Saudacao = ({ nome }) => {
  return <p>{`Olá, ${nome}!`}</p>;
};

Utilização de Props em componentes de classe

Em componentes de classe, as props são acessadas através da palavra-chave this:

// Componente de Classe
import React, { Component } from 'react';
 
class Saudacao extends Component {
  render() {
    return <p>{`Olá, ${this.props.nome}!`}</p>;
  }
}

Props padrão (Default Props)

É possível fornecer valores padrão para props usando a propriedade defaultProps. Isso é útil quando uma propriedade não é obrigatória e pode ser usada mesmo que não seja fornecida pelo componente pai.

// Componente com Default Props
const Saudacao = ({ nome = 'Visitante' }) => {
  return <p>{`Olá, ${nome}!`}</p>;
};
 
Saudacao.defaultProps = {
  nome: 'Visitante',
};

Referências