Como alterar o comportamento padrão de componentes no React

Uma alternativa caso você precise adicionar novas funções sem reescrever seus componentes.

Francisco Jose Goncalez
Apr 27 · 3 min read
Image for post
Image for post
const executaClick = () => {
alert("Executou onClick do botão")
}
<button onClick={()=> executaClick()}>Executa</button>
Alert com o texto “Executou onClick do botão”
Alert com o texto “Executou onClick do botão”
const executaAntes = () => {
alert("Executou onClick do clone");
}
const renderChildren = () => {
return React.Children.map(props.children, element => {
return React.cloneElement(element, {
onClick: executaAntes
});
});
}
return <Fragment>{renderChildren()}</Fragment>
Alert com o texto “Executou onClick do clone”
Alert com o texto “Executou onClick do clone”

Concrete

Nós desenvolvemos produtos digitais com inovação, agilidade…

Francisco Jose Goncalez

Written by

Dev NodeJS/React, Devops and maker at vacancy hours. Workink at @concretebr

Concrete

Concrete

Nós desenvolvemos produtos digitais com inovação, agilidade e excelentes práticas, para que o mercado brasileiro e latino-americano acompanhe a velocidade do mercado digital mundial.

Francisco Jose Goncalez

Written by

Dev NodeJS/React, Devops and maker at vacancy hours. Workink at @concretebr

Concrete

Concrete

Nós desenvolvemos produtos digitais com inovação, agilidade e excelentes práticas, para que o mercado brasileiro e latino-americano acompanhe a velocidade do mercado digital mundial.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store