From 644e580c5915a91f0f015865a884ce815b948e35 Mon Sep 17 00:00:00 2001 From: Ricardo Ramirez Date: Tue, 5 Feb 2019 00:03:52 -0600 Subject: [PATCH 01/26] Translate intro --- content/docs/context.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/context.md b/content/docs/context.md index 35624cbc2..f2a428b76 100644 --- a/content/docs/context.md +++ b/content/docs/context.md @@ -4,9 +4,9 @@ title: Context permalink: docs/context.html --- -Context provides a way to pass data through the component tree without having to pass props down manually at every level. +Context provee una forma de pasar datos a través del árbol de componentes sin tener que pasar *props* manualmente en cada nivel. -In a typical React application, data is passed top-down (parent to child) via props, but this can be cumbersome for certain types of props (e.g. locale preference, UI theme) that are required by many components within an application. Context provides a way to share values like these between components without having to explicitly pass a prop through every level of the tree. +En una aplicación típica de React, los datos se pasan de arriba hacia abajo (de padre a hijo) a través de *props*, pero esto puede ser complicado para ciertos tipos de *props* (por ejemplo, localización, tema de interfaz) que son necesarios para muchos componentes dentro de una aplicación. Context proporciona una forma de compartir valores como estos entre componentes sin tener que pasar explícitamente una *prop* a través de cada nivel del árbol. - [When to Use Context](#when-to-use-context) - [Before You Use Context](#before-you-use-context) From 7428bd0f34a25354b5a4dc1d393b7f4e0aba272b Mon Sep 17 00:00:00 2001 From: Ricardo Ramirez Date: Mon, 11 Feb 2019 23:03:28 -0600 Subject: [PATCH 02/26] Update table of content --- content/docs/context.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/docs/context.md b/content/docs/context.md index f2a428b76..7ea11db5f 100644 --- a/content/docs/context.md +++ b/content/docs/context.md @@ -8,19 +8,19 @@ Context provee una forma de pasar datos a través del árbol de componentes sin En una aplicación típica de React, los datos se pasan de arriba hacia abajo (de padre a hijo) a través de *props*, pero esto puede ser complicado para ciertos tipos de *props* (por ejemplo, localización, tema de interfaz) que son necesarios para muchos componentes dentro de una aplicación. Context proporciona una forma de compartir valores como estos entre componentes sin tener que pasar explícitamente una *prop* a través de cada nivel del árbol. -- [When to Use Context](#when-to-use-context) -- [Before You Use Context](#before-you-use-context) +- [Cuándo usar Context](#when-to-use-context) +- [Antes de usar Context](#before-you-use-context) - [API](#api) - [React.createContext](#reactcreatecontext) - [Context.Provider](#contextprovider) - [Class.contextType](#classcontexttype) - [Context.Consumer](#contextconsumer) -- [Examples](#examples) - - [Dynamic Context](#dynamic-context) - - [Updating Context from a Nested Component](#updating-context-from-a-nested-component) - - [Consuming Multiple Contexts](#consuming-multiple-contexts) -- [Caveats](#caveats) -- [Legacy API](#legacy-api) +- [Ejemplos](#examples) + - [Context dinámico](#dynamic-context) + - [Actualizando Context desde un componente anidado](#updating-context-from-a-nested-component) + - [Consumiendo múltiples Contexts](#consuming-multiple-contexts) +- [Advertencias](#caveats) +- [API antigua](#legacy-api) ## When to Use Context From 3ae4d84a976725ac48c88dcd1215622222d2ddb3 Mon Sep 17 00:00:00 2001 From: Ricardo Ramirez Date: Mon, 11 Feb 2019 23:23:40 -0600 Subject: [PATCH 03/26] Translate: When to Use Context --- content/docs/context.md | 8 +++++--- examples/context/motivation-problem.js | 8 ++++---- examples/context/motivation-solution.js | 22 +++++++++++----------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/content/docs/context.md b/content/docs/context.md index 7ea11db5f..fd8ef0594 100644 --- a/content/docs/context.md +++ b/content/docs/context.md @@ -6,7 +6,7 @@ permalink: docs/context.html Context provee una forma de pasar datos a través del árbol de componentes sin tener que pasar *props* manualmente en cada nivel. -En una aplicación típica de React, los datos se pasan de arriba hacia abajo (de padre a hijo) a través de *props*, pero esto puede ser complicado para ciertos tipos de *props* (por ejemplo, localización, tema de interfaz) que son necesarios para muchos componentes dentro de una aplicación. Context proporciona una forma de compartir valores como estos entre componentes sin tener que pasar explícitamente una *prop* a través de cada nivel del árbol. +En una aplicación típica de React, los datos se pasan de arriba hacia abajo (de padre a hijo) a través de *props*, pero esto puede ser complicado para ciertos tipos de *props* (por ejemplo, localización, tema de interfaz) que son necesarios para muchos componentes dentro de una aplicación. Context proporciona una forma de compartir valores como estos entre componentes sin tener que pasar explícitamente un *prop* a través de cada nivel del árbol. - [Cuándo usar Context](#when-to-use-context) - [Antes de usar Context](#before-you-use-context) @@ -22,13 +22,15 @@ En una aplicación típica de React, los datos se pasan de arriba hacia abajo (d - [Advertencias](#caveats) - [API antigua](#legacy-api) -## When to Use Context +## Cuándo usar Context Context is designed to share data that can be considered "global" for a tree of React components, such as the current authenticated user, theme, or preferred language. For example, in the code below we manually thread through a "theme" prop in order to style the Button component: +Context está diseñado para compartir datos que pueden considerarse "globales" para un árbol de componentes en React, como el usuario autenticado actual, el tema o el idioma preferido. Por ejemplo, en el código a continuación, pasamos manualmente un *prop* de "tema" para darle estilo al componente *Button*: + `embed:context/motivation-problem.js` -Using context, we can avoid passing props through intermediate elements: +Usando Context podemos evitar pasar *props* a través de elementos intermedios: `embed:context/motivation-solution.js` diff --git a/examples/context/motivation-problem.js b/examples/context/motivation-problem.js index d166f400a..61b94c078 100644 --- a/examples/context/motivation-problem.js +++ b/examples/context/motivation-problem.js @@ -6,10 +6,10 @@ class App extends React.Component { function Toolbar(props) { // highlight-range{1-4,7} - // The Toolbar component must take an extra "theme" prop - // and pass it to the ThemedButton. This can become painful - // if every single button in the app needs to know the theme - // because it would have to be passed through all components. + // El componente Toolbar debe tener un prop adicional de "tema" +  // y pasarlo a ThemedButton. Esto puede llegar a ser trabajoso +  // si cada botón en la aplicación necesita saber el tema, +  // porque tendría que pasar a través de todos los componentes. return (
diff --git a/examples/context/motivation-solution.js b/examples/context/motivation-solution.js index 94c6030a9..b54e5c62a 100644 --- a/examples/context/motivation-solution.js +++ b/examples/context/motivation-solution.js @@ -1,15 +1,15 @@ // highlight-range{1-4} -// Context lets us pass a value deep into the component tree -// without explicitly threading it through every component. -// Create a context for the current theme (with "light" as the default). +// Context nos permite pasar un valor de manera profunda en el árbol de componentes +// sin pasarlo explícitamente a través de cada componente. +// Crear un Context para el tema actual (con "light" como valor predeterminado). const ThemeContext = React.createContext('light'); class App extends React.Component { render() { // highlight-range{1-3,5} - // Use a Provider to pass the current theme to the tree below. - // Any component can read it, no matter how deep it is. - // In this example, we're passing "dark" as the current value. + // Usa un Provider para pasar el tema actual al árbol de abajo. + // Cualquier componente puede leerlo, sin importar qué tan profundo se encuentre. +    // En este ejemplo, estamos pasando "dark" como valor actual. return ( @@ -19,8 +19,8 @@ class App extends React.Component { } // highlight-range{1,2} -// A component in the middle doesn't have to -// pass the theme down explicitly anymore. +// Un componente en el medio no tiene que +// pasar el tema hacia abajo explícitamente. function Toolbar(props) { return (
@@ -31,9 +31,9 @@ function Toolbar(props) { class ThemedButton extends React.Component { // highlight-range{1-3,6} - // Assign a contextType to read the current theme context. - // React will find the closest theme Provider above and use its value. - // In this example, the current theme is "dark". + // Asigna un contextType para leer el contexto del tema actual. +  // React encontrará el Provider superior más cercano y usará su valor. +  // En este ejemplo, el tema actual es "dark". static contextType = ThemeContext; render() { return