Documentos de Académico
Documentos de Profesional
Documentos de Cultura
con React.memo
render() {
console.log("Render App");
return (
<>
<button onClick={countPlusPlus}>Counter +1</button>
<Counter count={this.state.count} />
return (
<form>
<p>Counter: {count}</p>
</form>
);
}
}
return (
<form>
<p>El usuario {canEdit ? "" : "no"} tiene permisos de editar...</p>
</form>
);
}
}
return (
<>
<button onClick={countPlusPlus}>Counter +1</button>
<Counter count={count} />
return (
<form>
<p>Can Edit es {canEdit ? "verdadero" : "falso"}</p>
</form>
);
}
return (
<form>
<p>Counter: {count}</p>
</form>
);
}
El resultado va a ser exactamente igual que al usar React.Component.
// Con clases
class Permissions extends React.Component {
shouldComponentUpdate(nextProps, nextState) {
return false;
}
render() {
/* … */
}
}
// Con hooks
function memoStopIfPropsAreEqualOrNot(oldProps, newProps) {
return true;
}
// Con clases
class Permissions extends React.Component {
shouldComponentUpdate(nextProps, nextState) {
if (this.props.input.value !== nextProps.input.value) {
return true;
} else {
return false;
}
}
}
// Con hooks
function memoIsInputEqual(oldProps, newProps) {
if (oldProps.input.value !== newProps.input.value) {
return false;
} else {
return true;
}
}