Skip to content

Commit f78ac50

Browse files
committed
Resolved merge conflicts
1 parent 0f39135 commit f78ac50

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+88
-541
lines changed

src/components/DocsFooter.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,7 @@ function FooterLink({
8888
/>
8989
<div className="flex flex-col overflow-hidden">
9090
<span className="text-sm font-bold tracking-wide no-underline uppercase text-secondary dark:text-secondary-dark group-focus:text-link dark:group-focus:text-link-dark group-focus:text-opacity-100">
91-
<<<<<<< HEAD
9291
{typeTranslation}
93-
=======
94-
{type === 'Previous' ? 'Previous' : 'Next'}
95-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
9692
</span>
9793
<span className="text-lg break-words group-hover:underline">
9894
{title}

src/components/Layout/HomeContent.js

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -812,16 +812,6 @@ const CommunityImages = memo(function CommunityImages({isLazy}) {
812812
? 'rotate-2 group-hover:rotate-[-1deg] group-hover:scale-110'
813813
: 'group-hover:rotate-1 group-hover:scale-110 rotate-[-2deg]'
814814
)}>
815-
<<<<<<< HEAD
816-
<Image
817-
loading={isLazy ? 'lazy' : 'eager'}
818-
src={src}
819-
alt={alt}
820-
width={100}
821-
height={100}
822-
className="aspect-[4/3] h-full w-full flex object-cover rounded-2xl bg-gray-10 dark:bg-gray-80"
823-
/>
824-
=======
825815
<div
826816
className={cn(
827817
'overflow-clip relative before:absolute before:inset-0 before:pointer-events-none before:-translate-x-full group-hover:before:animate-[shimmer_1s_forwards] before:bg-gradient-to-r before:from-transparent before:via-white/10 before:to-transparent transition-transform ease-in-out duration-300'
@@ -833,7 +823,6 @@ const CommunityImages = memo(function CommunityImages({isLazy}) {
833823
className="aspect-[4/3] h-full w-full flex object-cover rounded-2xl bg-gray-10 dark:bg-gray-80"
834824
/>
835825
</div>
836-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
837826
</div>
838827
</div>
839828
))}

src/content/community/index.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,4 @@ Cada comunidad está constituida por miles de usuarios de React.
2929

3030
## Noticias {/*news*/}
3131

32-
<<<<<<< HEAD
3332
Para conocer las últimas noticias sobre React, [sigue **@reactjs** en Twitter](https://twitter.com/reactjs) y el [blog oficial de React](/blog/) en este sitio web.
34-
=======
35-
For the latest news about React, [follow **@reactjs** on Twitter](https://twitter.com/reactjs), [**@react.dev** on Bluesky](https://bsky.app/profile/react.dev) and the [official React blog](/blog/) on this website.
36-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf

src/content/community/meetups.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,8 @@ title: Reuniones de React
138138
## Portugal {/*portugal*/}
139139
* [Lisboa](https://www.meetup.com/JavaScript-Lisbon/)
140140

141-
<<<<<<< HEAD
142141
## Escocia (Reino Unido) {/*scotland-uk*/}
143-
* [Edimburgo](https://www.meetup.com/React-Scotland/)
144-
=======
145-
## Scotland (UK) {/*scotland-uk*/}
146-
* [Edinburgh](https://www.meetup.com/react-edinburgh/)
147-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
142+
* [Edimburgo](https://www.meetup.com/react-edinburgh/)
148143

149144
## España {/*spain*/}
150145
* [Barcelona](https://www.meetup.com/ReactJS-Barcelona/)

src/content/learn/add-react-to-an-existing-project.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ Así es como recomendamos configurarlo:
2424
2. **Especifica `/some-app` como la *ruta base*** en la configuración de tu framework (aquí tienes como: [Next.js](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath), [Gatsby](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/path-prefix/)).
2525
3. **Configura tu servidor o un proxy** para que todas las peticiones bajo `/some-app/` sean manejadas por tu aplicación React.
2626

27-
<<<<<<< HEAD
2827
Esto garantiza que la parte React de tu aplicación se pueda [beneficiar de las mejoras practicas](/learn/start-a-new-react-project#can-i-use-react-without-a-framework) integradas en aquellos frameworks.
29-
=======
30-
This ensures the React part of your app can [benefit from the best practices](/learn/build-a-react-app-from-scratch#consider-using-a-framework) baked into those frameworks.
31-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
3228

3329
Muchos frameworks basados en React son full-stack y permiten que tu aplicación React aproveche el servidor. Sin embargo, puedes utilizar el mismo enfoque incluso si no puedes o no quieres ejecutar JavaScript en el servidor. En ese caso, sirve la exportación HTML/CSS/JS ([`next export` output](https://nextjs.org/docs/advanced-features/static-html-export) para Next.js, por defecto para Gatsby) en `/some-app/` en su lugar.
3430

src/content/learn/build-a-react-app-from-scratch.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -115,25 +115,14 @@ De manera similar, si confías en que las aplicaciones usen tu framework para di
115115

116116
La división del código por rutas, cuando se integra con el empaquetamiento y la obtención de datos, puede reducir el tiempo de carga inicial de su aplicación y el tiempo que tarda en renderizarse el contenido visible más grande de la aplicación. ([Largest Contentful Paint](https://web.dev/articles/lcp?hl=es-419)).
117117

118-
<<<<<<< HEAD
119118
Para obtener instrucciones sobre cómo dividir el código, consulte la documentación de su herramienta de compilación:
120119
- [Optimizaciones de compilación](https://es.vite.dev/guide/features.html#optimizaciones-de-compilacion)
121120
- [División de código con Parcel](https://parceljs.org/features/code-splitting/)
122121
- [División de código con Rsbuild](https://rsbuild.dev/guide/optimization/code-splitting)
123-
=======
124-
For code-splitting instructions, see your build tool docs:
125-
- [Vite build optimizations](https://vite.dev/guide/features.html#build-optimizations)
126-
- [Parcel code splitting](https://parceljs.org/features/code-splitting/)
127-
- [Rsbuild code splitting](https://rsbuild.dev/guide/optimization/code-splitting)
128-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
129122

130123
### Mejorar el rendimiento de las aplicaciones {/*improving-application-performance*/}
131124

132-
<<<<<<< HEAD
133125
Dado que la herramienta de compilación que elija sólo admite aplicaciones de una sola página (SPA), tendrá que implementar otras [patrones de renderizado](https://www.patterns.dev/vanilla/rendering-patterns) como server-side rendering (SSR), static site generation (SSG), y/o React Server Components (RSC). Aunque al principio no necesites estas funciones, en el futuro puede que haya algunas rutas que se beneficien de SSR, SSG o RSC.
134-
=======
135-
Since the build tool you select only supports single page apps (SPAs), you'll need to implement other [rendering patterns](https://www.patterns.dev/vanilla/rendering-patterns) like server-side rendering (SSR), static site generation (SSG), and/or React Server Components (RSC). Even if you don't need these features at first, in the future there may be some routes that would benefit SSR, SSG or RSC.
136-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
137126

138127
* **Single-page apps (SPA)** cargan una única página HTML y la actualizan dinámicamente a medida que el usuario interactúa con la aplicación. Las SPA son más fáciles de usar, pero pueden tener tiempos de carga iniciales más lentos. Las SPA son la arquitectura por defecto de la mayoría de las herramientas de compilación.
139128

src/content/learn/keeping-components-pure.md

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -606,15 +606,9 @@ export default function StoryTray({ stories }) {
606606
import { useState, useEffect } from 'react';
607607
import StoryTray from './StoryTray.js';
608608

609-
<<<<<<< HEAD
610609
let initialStories = [
611610
{id: 0, label: "Historia de Ankit" },
612611
{id: 1, label: "Historia de Taylor" },
613-
=======
614-
const initialStories = [
615-
{id: 0, label: "Ankit's Story" },
616-
{id: 1, label: "Taylor's Story" },
617-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
618612
];
619613

620614
export default function App() {
@@ -708,15 +702,9 @@ export default function StoryTray({ stories }) {
708702
import { useState, useEffect } from 'react';
709703
import StoryTray from './StoryTray.js';
710704

711-
<<<<<<< HEAD
712705
let initialStories = [
713706
{id: 0, label: "Historia de Ankit" },
714707
{id: 1, label: "Historia de Taylor" },
715-
=======
716-
const initialStories = [
717-
{id: 0, label: "Ankit's Story" },
718-
{id: 1, label: "Taylor's Story" },
719-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
720708
];
721709

722710
export default function App() {
@@ -781,13 +769,8 @@ Como alternativa, podrías crear un _nuevo_ array (copiando el existente) antes
781769

782770
```js src/StoryTray.js active
783771
export default function StoryTray({ stories }) {
784-
<<<<<<< HEAD
785-
// ¡Copia el array!
786-
let storiesToDisplay = stories.slice();
787-
=======
788-
// Copy the array!
772+
// ¡Copia el array!
789773
const storiesToDisplay = stories.slice();
790-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
791774

792775
// Esto no afecta al array original:
793776
storiesToDisplay.push({
@@ -811,15 +794,9 @@ export default function StoryTray({ stories }) {
811794
import { useState, useEffect } from 'react';
812795
import StoryTray from './StoryTray.js';
813796

814-
<<<<<<< HEAD
815797
let initialStories = [
816798
{id: 0, label: "Historia de Ankit" },
817799
{id: 1, label: "Historia de Taylor" },
818-
=======
819-
const initialStories = [
820-
{id: 0, label: "Ankit's Story" },
821-
{id: 1, label: "Taylor's Story" },
822-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
823800
];
824801

825802
export default function App() {

src/content/learn/manipulating-the-dom-with-refs.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,11 +211,7 @@ Esto es porque los **Hooks solo tienen que ser llamados en el nivel más alto de
211211

212212
Una posible forma de evitar esto es hacer una sola ref a su elemento padre, y luego usar métodos de manipulación del DOM como [`querySelectorAll`](https://developer.mozilla.org/es/docs/Web/API/Document/querySelectorAll) para "encontrar" los nodos hijos individuales a partir de él. Sin embargo, esto es frágil y puede romperse si la estructura del DOM cambia.
213213

214-
<<<<<<< HEAD
215214
Otra solución es **pasar una función al atributo `ref`.** A esto se le llama un [callback `ref`.](/reference/react-dom/components/common#ref-callback) React llamará tu callback ref con el nodo DOM cuando sea el momento de poner la ref, y con `null` cuando sea el momento de limpiarla. Esto te permite mantener tu propio array o un [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map), y acceder a cualquier ref por su índice o algún tipo de ID.
216-
=======
217-
Another solution is to **pass a function to the `ref` attribute.** This is called a [`ref` callback.](/reference/react-dom/components/common#ref-callback) React will call your ref callback with the DOM node when it's time to set the ref, and call the cleanup function returned from the callback when it's time to clear it. This lets you maintain your own array or a [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map), and access any ref by its index or some kind of ID.
218-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
219215

220216
Este ejemplo te muestra cómo puedes usar este enfoque para desplazarte a un nodo arbitrario en una lista larga:
221217

src/content/learn/preserving-and-resetting-state.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -672,11 +672,7 @@ label {
672672

673673
</Sandpack>
674674

675-
<<<<<<< HEAD
676675
El estado del contador se reinicia cuando se hace clic en la casilla de verificación. Aunque se renderiza un `Counter`, el primer hijo del `div` cambia de `div` a `section`. Cuando el `div` hijo se eliminó del DOM, todo el árbol debajo de él (incluyendo el `Counter` y su estado) se destruyó también.
677-
=======
678-
The counter state gets reset when you click the checkbox. Although you render a `Counter`, the first child of the `div` changes from a `section` to a `div`. When the child `section` was removed from the DOM, the whole tree below it (including the `Counter` and its state) was destroyed as well.
679-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
680676

681677
<DiagramGroup>
682678

src/content/learn/referencing-values-with-refs.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -464,11 +464,7 @@ export default function Toggle() {
464464

465465
#### Arregla el _debounce_ {/*fix-debouncing*/}
466466

467-
<<<<<<< HEAD
468467
En este ejemplo, todos los controladores de clic usan [el "corte de rebote" o _"debounce"_.](https://redd.one/blog/debounce-vs-throttle) Para ver que significa esto, presiona uno de los botones. Fíjate como el mensaje aparece un segundo después. Si presionas el botón mientras esperas el mensaje, el temporizador se reiniciará. Así que si te mantienes cliqueando el mismo botón rápidamente muchas veces, el mensaje no aparecerá hasta un segundo *después* de que pares de hacer clic. El _debounce_ te permite retrasar algunas acciones hasta que el usuario "pare de hacer cosas".
469-
=======
470-
In this example, all button click handlers are ["debounced".](https://kettanaito.com/blog/debounce-vs-throttle) To see what this means, press one of the buttons. Notice how the message appears a second later. If you press the button while waiting for the message, the timer will reset. So if you keep clicking the same button fast many times, the message won't appear until a second *after* you stop clicking. Debouncing lets you delay some action until the user "stops doing things".
471-
>>>>>>> 49c2d26722fb1b5865ce0221a4cadc71b615e4cf
472468

473469
Este ejemplo funciona, pero no tan bien como se esperaba. Los botones no son independientes. Para ver el problema, haz clic en uno de los botones, y luego inmediatamente haz clic en otro botón. Esperarías que después de un retraso, podrías ver los mensajes de ambos botones. Pero solo se muestra el mensaje del último botón. El mensaje del primer botón se pierde.
474470

0 commit comments

Comments
 (0)