diff --git a/beta/src/content/apis/react/PureComponent.md b/beta/src/content/apis/react/PureComponent.md
index 460db89d8..2fefbe7c1 100644
--- a/beta/src/content/apis/react/PureComponent.md
+++ b/beta/src/content/apis/react/PureComponent.md
@@ -4,18 +4,18 @@ title: PureComponent
-We recommend to define components as functions instead of classes. [See how to migrate.](#alternatives)
+Recomendamos definir los componentes como funciones en lugar de clases. [Ver cómo migrar.](#alternatives)
-`PureComponent` is similar to [`Component`](/apis/react/Component) but it skips re-renders for same props and state. Class components are still supported by React, but we don't recommend using them in new code.
+`PureComponent` es parecido a [`Component`](/apis/react/Component) pero se salta las re-renderizaciones para las mismas props y estado. Los componentes de clase todavía son compatibles con React, pero no recomendamos usarlos en código nuevo.
```js
class Greeting extends PureComponent {
render() {
- return
Hello, {this.props.name}!
;
+ return
Hola, {this.props.name}!
;
}
}
```
@@ -26,23 +26,23 @@ class Greeting extends PureComponent {
---
-## Usage {/*usage*/}
+## Uso {/*usage*/}
-### Skipping unnecessary re-renders for class components {/*skipping-unnecessary-re-renders-for-class-components*/}
+### Omitir renderizaciones innecesarias para componentes de clase {/*skipping-unnecessary-re-renders-for-class-components*/}
-React normally re-renders a component whenever its parent re-renders. As an optimization, you can create a component that React will not re-render when its parent re-renders so long as its new props and state are the same as the old props and state. [Class components](/apis/react/Component) can opt into this behavior by extending `PureComponent`:
+React normalmente vuelve a renderizar un componente cada vez que su elemento principal vuelve a renderizar. Como optimización, puede crear un componente que React no volverá a renderizar cuando su elemento principal vuelva a renderizar, siempre que sus nuevas props y estado sean los mismos que los antiguas props y estado. [Class components](/apis/react/Component) pueden optar por este comportamiento extendiendo `PureComponent`:
```js {1}
class Greeting extends PureComponent {
render() {
- return
Hello, {this.props.name}!
;
+ return
Hola, {this.props.name}!
;
}
}
```
-A React component should always have [pure rendering logic.](/learn/keeping-components-pure) This means that it must return the same output if its props, state, and context haven't changed. By using `PureComponent`, you are telling React that your component complies with this requirement, so React doesn't need to re-render as long as its props and state haven't changed. However, your component will still re-render if a context that it's using changes.
+Un componente de React siempre debe tener [lógica de representación pura.](/learn/keeping-components-pure) Esto significa que debe devolver el mismo resultado si sus accesorios, estado y contexto no han cambiado. Al usar `PureComponent`, le está diciendo a React que su componente cumple con este requisito, por lo que React no necesita volver a renderizar siempre que sus accesorios y estado no hayan cambiado. Sin embargo, su componente aún se volverá a representar si cambia un contexto que está usando.
-In this example, notice that the `Greeting` component re-renders whenever `name` is changed (because that's one of its props), but not when `address` is changed (because it's not passed to `Greeting` as a prop):
+En este ejemplo, observe que el componente `Greeting` se vuelve a representar cada vez que se cambia `name` (porque ese es uno de sus accesorios), pero no cuando se cambia `address` (porque no se pasa a `Greeting` como accesorio) :
@@ -51,8 +51,8 @@ import { PureComponent, useState } from 'react';
class Greeting extends PureComponent {
render() {
- console.log("Greeting was rendered at", new Date().toLocaleTimeString());
- return
Hello{this.props.name && ', '}{this.props.name}!
;
+ console.log("El saludo se brindó en", new Date().toLocaleTimeString());
+ return
Hola{this.props.name && ', '}{this.props.name}!
;
}
}
@@ -62,11 +62,11 @@ export default function MyApp() {
return (
<>
@@ -86,17 +86,17 @@ label {
-We recommend to define components as functions instead of classes. [See how to migrate.](#alternatives)
+Recomendamos definir los componentes como funciones en lugar de clases. [Ver cómo migrar.](#alternatives)
---
-## Alternatives {/*alternatives*/}
+## Alternativas {/*alternatives*/}
-### Migrating from a `PureComponent` class component to a function {/*migrating-from-a-purecomponent-class-component-to-a-function*/}
+### Migración de un componente de clase `PureComponent` a una función {/*migrating-from-a-purecomponent-class-component-to-a-function*/}
-We recommend to use function components instead of [class components](/apis/react/Component) in the new code. If you have some existing class components using `PureComponent`, here is how you can convert them. This is the original code:
+Recomendamos usar componentes de función en lugar de [componentes de clase](/apis/react/Component) en el nuevo código. Si tiene algunos componentes de clase existentes que usan `PureComponent`, así es como puede convertirlos. Este es el código original:
@@ -105,8 +105,8 @@ import { PureComponent, useState } from 'react';
class Greeting extends PureComponent {
render() {
- console.log("Greeting was rendered at", new Date().toLocaleTimeString());
- return
Hello{this.props.name && ', '}{this.props.name}!
;
+ console.log("El saludo se brindó en", new Date().toLocaleTimeString());
+ return
Hola{this.props.name && ', '}{this.props.name}!
;
}
}
@@ -116,11 +116,11 @@ export default function MyApp() {
return (
<>
@@ -138,7 +138,7 @@ label {
-When you [convert this component from a class to a function,](/apis/react/Component#alternatives) wrap it in [`memo`:](/apis/react/memo)
+Cuando [conviertes este componente de una clase a una función,](/apis/react/Component#alternatives) envuélvalo en [`memo`:](/apis/react/memo)
@@ -146,8 +146,8 @@ When you [convert this component from a class to a function,](/apis/react/Compon
import { memo, useState } from 'react';
const Greeting = memo(function Greeting({ name }) {
- console.log("Greeting was rendered at", new Date().toLocaleTimeString());
- return
Hello{name && ', '}{name}!
;
+ console.log("El saludo se brindó en", new Date().toLocaleTimeString());
+ return
Hola{name && ', '}{name}!
;
});
export default function MyApp() {
@@ -156,11 +156,11 @@ export default function MyApp() {
return (
<>
@@ -180,31 +180,28 @@ label {
-Unlike `PureComponent`, [`memo`](/apis/react/memo) does not compare the new and the old state. In function components, calling the [`set` function](/apis/react/useState#setstate) with the same state [already prevents re-renders by default,](/apis/react/memo#updating-a-memoized-component-using-state) even without `memo`.
+A diferencia de `PureComponent`, [`memo`](/apis/react/memo) no compara el nuevo y el viejo estado. En los componentes de función, llamando al[`set` function](/apis/react/useState#setstate) con el mismo estado [ya impide que se vuelvan a renderizar de forma predeterminada,](/apis/react/memo#updating-a-memoized-component-using-state) incluso sin `memo`.
---
-## Reference {/*reference*/}
+## Referencia {/*reference*/}
### `PureComponent` {/*purecomponent*/}
-To skip re-rendering a class component for same props and state, extend `PureComponent` instead of [`Component`:](/apis/react/Component)
+Para omitir volver a renderizar un componente de clase para las mismas props y estado, extienda `PureComponent` en lugar de [`Component`:](/apis/react/Component)
```js
import { PureComponent } from 'react';
class Greeting extends PureComponent {
render() {
- return
Hello, {this.props.name}!
;
+ return
Hola, {this.props.name}!
;
}
}
```
-`PureComponent` is a subclass of `Component` and supports [all the `Component` APIs.](/apis/react/Component#reference) Extending `PureComponent` is equivalent to defining a custom [`shouldComponentUpdate`](/apis/react/Component#shouldcomponentupdate) method that shallowly compares props and state.
-
-
-[See more examples.](#usage)
-
+`PureComponent` es una subclase de `Component` y admite [todas las API de `Component`.](/apis/react/Component#reference)Extender `PureComponent` es equivalente a definir un método personalizado [`shouldComponentUpdate`](/apis/react/Component#shouldcomponentupdate) que compara superficialmente las props y el estado.
+[Ver más ejemplos.](#usage)