Skip to content
This repository was archived by the owner on Apr 21, 2023. It is now read-only.

Commit cfa7040

Browse files
authored
Merge pull request #15 from reactjs/components-and-props
Translate components and props
2 parents 719fe61 + 0abb4ce commit cfa7040

File tree

1 file changed

+51
-51
lines changed

1 file changed

+51
-51
lines changed

Diff for: content/docs/components-and-props.md

+51-51
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: components-and-props
3-
title: Components and Props
3+
title: Components i propietats
44
permalink: docs/components-and-props.html
55
redirect_from:
66
- "docs/reusable-components.html"
@@ -16,57 +16,57 @@ prev: rendering-elements.html
1616
next: state-and-lifecycle.html
1717
---
1818

19-
Components let you split the UI into independent, reusable pieces, and think about each piece in isolation. This page provides an introduction to the idea of components. You can find a [detailed component API reference here](/docs/react-component.html).
19+
Els components permeten separar la interfície d'usuari en peces independents, reutilitzables i pensar en cada peça de forma aïllada. Aquesta pàgina proporciona una introducció a la idea de components. Pots trobar una [API detallada sobre components aquí](/docs/react-component.html).
2020

21-
Conceptually, components are like JavaScript functions. They accept arbitrary inputs (called "props") and return React elements describing what should appear on the screen.
21+
Conceptualment, els components són com les funcions de JavaScript. Accepten entrades arbitràries (anomenades "props") i retornen elements React que descriuen el que ha d'aparèixer a la pantalla.
2222

23-
## Function and Class Components {#function-and-class-components}
23+
## Components funcionals i de classe {#function-and-class-components}
2424

25-
The simplest way to define a component is to write a JavaScript function:
25+
La forma més senzilla de definir un component és escriure una funció de JavaScript:
2626

2727
```js
2828
function Welcome(props) {
29-
return <h1>Hello, {props.name}</h1>;
29+
return <h1>Hola, {props.name}</h1>;
3030
}
3131
```
3232

33-
This function is a valid React component because it accepts a single "props" (which stands for properties) object argument with data and returns a React element. We call such components "function components" because they are literally JavaScript functions.
33+
Aquesta funció és un component de React vàlid perquè accepta un sol argument d'objecte "props" (que prové de propietats) amb dades i retorna un element de React. Anomenem aquests components "funcionals" perquè literalment són funcions JavaScript.
3434

35-
You can also use an [ES6 class](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) to define a component:
35+
També pots utilitzar una [classe d'ES6](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Classes) per definir un component:
3636

3737
```js
3838
class Welcome extends React.Component {
3939
render() {
40-
return <h1>Hello, {this.props.name}</h1>;
40+
return <h1>Hola, {this.props.name}</h1>;
4141
}
4242
}
4343
```
4444

45-
The above two components are equivalent from React's point of view.
45+
Els dos components anteriors són equivalents des del punt de vista de React.
4646

47-
Classes have some additional features that we will discuss in the [next sections](/docs/state-and-lifecycle.html). Until then, we will use function components for their conciseness.
47+
Les classes tenen algunes característiques addicionals que veurem en les [pròximes seccions](/docs/state-and-lifecycle.html). Fins llavors, farem servir components funcionals per la seva brevetat.
4848

49-
## Rendering a Component {#rendering-a-component}
49+
## Renderitzant un component {#rendering-a-component}
5050

51-
Previously, we only encountered React elements that represent DOM tags:
51+
Fins ara, només hem vist elements de React que representen etiquetes del DOM:
5252

5353
```js
5454
const element = <div />;
5555
```
5656

57-
However, elements can also represent user-defined components:
57+
No obstant això, els elements també poden representar components definits per l'usuari:
5858

5959
```js
6060
const element = <Welcome name="Sara" />;
6161
```
6262

63-
When React sees an element representing a user-defined component, it passes JSX attributes to this component as a single object. We call this object "props".
63+
Quan React veu un element representant un component definit per l'usuari, passa els atributs JSX a aquest component com un sol objecte. Anomenem a aquest objecte "props".
6464

65-
For example, this code renders "Hello, Sara" on the page:
65+
Per exemple, aquest codi mostra "Hola, Sara" a la pàgina:
6666

6767
```js{1,5}
6868
function Welcome(props) {
69-
return <h1>Hello, {props.name}</h1>;
69+
return <h1>Hola, {props.name}</h1>;
7070
}
7171
7272
const element = <Welcome name="Sara" />;
@@ -78,28 +78,28 @@ ReactDOM.render(
7878

7979
[](codepen://components-and-props/rendering-a-component)
8080

81-
Let's recap what happens in this example:
81+
Recapitulem el que succeeix en aquest exemple:
8282

83-
1. We call `ReactDOM.render()` with the `<Welcome name="Sara" />` element.
84-
2. React calls the `Welcome` component with `{name: 'Sara'}` as the props.
85-
3. Our `Welcome` component returns a `<h1>Hello, Sara</h1>` element as the result.
86-
4. React DOM efficiently updates the DOM to match `<h1>Hello, Sara</h1>`.
83+
1. Fem una crida a `ReactDOM.render()` amb l'element `<Welcome name="Sara"/>`.
84+
2. React crida al component `Welcome` amb `{name: 'Sara'}` com "props".
85+
3. El nostre component `Welcome` retorna un element `<h1>Hola, Sara</h1>` com a resultat.
86+
4. React DOM actualitza eficientment el DOM perquè coincideixi amb `<h1>Hola, Sara</h1>`.
8787

88-
>**Note:** Always start component names with a capital letter.
88+
> **Nota:** Comença sempre els noms de components amb una lletra majúscula.
8989
>
90-
>React treats components starting with lowercase letters as DOM tags. For example, `<div />` represents an HTML div tag, but `<Welcome />` represents a component and requires `Welcome` to be in scope.
90+
> React tracta els components que comencen amb lletres minúscules com etiquetes del DOM. Per exemple, `<div />` representa una etiqueta div HTML però `<Welcome />` representa un component i requereix que `Welcome` estigui definit.
9191
>
92-
>To learn more about the reasoning behind this convention, please read [JSX In Depth](/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized).
92+
> Per saber més sobre el raonament darrere d'aquesta convenció, pots consultar [JSX en profunditat](/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized).
9393
94-
## Composing Components {#composing-components}
94+
## Composició de components {#composing-components}
9595

96-
Components can refer to other components in their output. This lets us use the same component abstraction for any level of detail. A button, a form, a dialog, a screen: in React apps, all those are commonly expressed as components.
96+
Els components poden referir-se a altres components en el seu interior. Això ens permet utilitzar la mateixa abstracció de component per a qualsevol nivell de detall. Un botó, un quadre de diàleg, un formulari, una pantalla: en aplicacions de React, tots són expressats comunament com a components.
9797

98-
For example, we can create an `App` component that renders `Welcome` many times:
98+
Per exemple, podem crear un component `App` que renderitza `Welcome` moltes vegades:
9999

100100
```js{8-10}
101101
function Welcome(props) {
102-
return <h1>Hello, {props.name}</h1>;
102+
return <h1>Hola, {props.name}</h1>;
103103
}
104104
105105
function App() {
@@ -120,22 +120,22 @@ ReactDOM.render(
120120

121121
[](codepen://components-and-props/composing-components)
122122

123-
Typically, new React apps have a single `App` component at the very top. However, if you integrate React into an existing app, you might start bottom-up with a small component like `Button` and gradually work your way to the top of the view hierarchy.
123+
En general, les aplicacions de React noves tenen un únic component `App` al capdamunt. No obstant això, si s'integra React en una aplicació existent, es podria començar de baix cap a dalt amb un petit component com `Button` i a poc a poc fer camí cap al cim de la jerarquia de la vista.
124124

125-
## Extracting Components {#extracting-components}
125+
## Extracció de components {#extracting-components}
126126

127-
Don't be afraid to split components into smaller components.
127+
No tinguis por de dividir els components en altres més petits.
128128

129-
For example, consider this `Comment` component:
129+
Per exemple, considera aquest component `Comment`:
130130

131131
```js
132132
function Comment(props) {
133133
return (
134134
<div className="Comment">
135135
<div className="UserInfo">
136136
<img className="Avatar"
137-
src={props.author.avatarUrl}
138-
alt={props.author.name}
137+
src={props.author.avatarUrl}
138+
alt={props.author.name}
139139
/>
140140
<div className="UserInfo-name">
141141
{props.author.name}
@@ -154,11 +154,11 @@ function Comment(props) {
154154

155155
[](codepen://components-and-props/extracting-components)
156156

157-
It accepts `author` (an object), `text` (a string), and `date` (a date) as props, and describes a comment on a social media website.
157+
Accepta `author` (un objecte), `text` (una cadena), i `date` (una data) com props, i descriu un comentari en una web de xarxes socials.
158158

159-
This component can be tricky to change because of all the nesting, and it is also hard to reuse individual parts of it. Let's extract a few components from it.
159+
Aquest component pot ser difícil de canviar a causa de tota la nidificació, i també és difícil reutilitzar parts individuals d'ell. Extraiem alguns components d'aquest.
160160

161-
First, we will extract `Avatar`:
161+
Primer, extraiem `Avatar`:
162162

163163
```js{3-6}
164164
function Avatar(props) {
@@ -171,11 +171,11 @@ function Avatar(props) {
171171
}
172172
```
173173

174-
The `Avatar` doesn't need to know that it is being rendered inside a `Comment`. This is why we have given its prop a more generic name: `user` rather than `author`.
174+
L'`Avatar` no necessita saber que està sent renderitzat dins d'un `Comment`. Aquest és el motiu pel qual li donem a la seva propietat un nom més genèric: `user` en comptes de `author`.
175175

176-
We recommend naming props from the component's own point of view rather than the context in which it is being used.
176+
Recomanem anomenar les props des del punt de vista del component, en comptes del context en què s'utilitza.
177177

178-
We can now simplify `Comment` a tiny bit:
178+
Ara podem simplificar `Comment` una miqueta:
179179

180180
```js{5}
181181
function Comment(props) {
@@ -198,7 +198,7 @@ function Comment(props) {
198198
}
199199
```
200200

201-
Next, we will extract a `UserInfo` component that renders an `Avatar` next to the user's name:
201+
A continuació, extraurem el component `UserInfo` que renderitza un `Avatar` al costat del nom de l'usuari:
202202

203203
```js{3-8}
204204
function UserInfo(props) {
@@ -213,7 +213,7 @@ function UserInfo(props) {
213213
}
214214
```
215215

216-
This lets us simplify `Comment` even further:
216+
Això ens permet simplificar `Comment` encara més:
217217

218218
```js{4}
219219
function Comment(props) {
@@ -233,30 +233,30 @@ function Comment(props) {
233233

234234
[](codepen://components-and-props/extracting-components-continued)
235235

236-
Extracting components might seem like grunt work at first, but having a palette of reusable components pays off in larger apps. A good rule of thumb is that if a part of your UI is used several times (`Button`, `Panel`, `Avatar`), or is complex enough on its own (`App`, `FeedStory`, `Comment`), it is a good candidate to be a reusable component.
236+
Extreure components pot semblar una feina pesada al principi, però tenir una paleta de components reutilitzables val la pena en aplicacions més grans. Una bona regla en general és que si una part de la interfície d'usuari es fa servir diverses vegades (`Button`, `Panel` o `Avatar`), o és prou complexa per si mateixa (`App`, `FeedStory`, `Comment`), és bon candidat per ser un component reutilitzable.
237237

238-
## Props are Read-Only {#props-are-read-only}
238+
## Les props són només de lectura {#props-are-read-only}
239239

240-
Whether you declare a component [as a function or a class](#function-and-class-components), it must never modify its own props. Consider this `sum` function:
240+
Tant si declares un component, [com una funció o com una classe](#function-and-class-components), aquest mai ha de modificar les seves props. Considera aquesta funció `sum`:
241241

242242
```js
243243
function sum(a, b) {
244244
return a + b;
245245
}
246246
```
247247

248-
Such functions are called ["pure"](https://en.wikipedia.org/wiki/Pure_function) because they do not attempt to change their inputs, and always return the same result for the same inputs.
248+
Aquestes funcions són anomenades ["pures"](https://en.wikipedia.org/wiki/Functional_programming#Pure_functions) perquè no intenten canviar les seves entrades, i sempre tornen el mateix resultat per a les mateixes entrades.
249249

250-
In contrast, this function is impure because it changes its own input:
250+
En contrast, aquesta funció és impura perquè canvia la seva pròpia entrada:
251251

252252
```js
253253
function withdraw(account, amount) {
254254
account.total -= amount;
255255
}
256256
```
257257

258-
React is pretty flexible but it has a single strict rule:
258+
React és bastant flexible però té una sola regla estricta:
259259

260-
**All React components must act like pure functions with respect to their props.**
260+
**Tots els components de React han d'actuar com a funcions pures pel que fa a les seves props.**
261261

262-
Of course, application UIs are dynamic and change over time. In the [next section](/docs/state-and-lifecycle.html), we will introduce a new concept of "state". State allows React components to change their output over time in response to user actions, network responses, and anything else, without violating this rule.
262+
Per descomptat, les interfícies d'usuari de les aplicacions són dinàmiques i canvien amb el temps. A la [següent secció](/docs/state-and-lifecycle.html), introduirem un nou concepte d'"estat". L'estat permet als components de React canviar la seva sortida al llarg del temps en resposta a accions de l'usuari, respostes de xarxa i qualsevol altra cosa, sense violar aquesta regla.

0 commit comments

Comments
 (0)