Fala ai Gabriel, tudo bem? Vamos lá:
Olá, gostaria de entender como funciona a o spred operator dentro do props no navlink.
Imagine que temos um componente chamado Button
que recebe como propriedades disabled
, size
e text
.
Repare que são três propriedades, agora, vamos pensar que o componente Form
está chamando o Button
e por fim, o App
está chamando o Form
.
Então vamos precisar enviar as propriedades para o Form
que por sua vez vai enviar para o Button
.
const Form = props => <Button disabled={props.disabled} size={props.size} text={props.text}/>
Teríamos algo mais ou menos assim. Claro que podemos utilizar o destructuring e reduzir um pouco os códigos:
const Form = ({ disabled, size, text }) => <Button disabled={disabled} size={size} text={text}/>
Mas, ainda estamos recebendo somente essas propriedades e repassando para o Button
, tornando o código verboso.
Sendo assim, sabendo que nossas propriedades é um objeto com chave e valor:
{
disabled: true,
size: 'small',
text: 'Save',
}
Podemos utilizar o spread:
const Form = props => <Button {...props}/>
Isso vai fazer com que cada chave do objeto seja passada como propriedade para o componente Button
e o valor de cada chave será o valor da propriedade.
Espero ter ajudado.