Skip to content

Commit 195940c

Browse files
Update 2013-07-11-react-v0-4-prop-validation-and-default-values.md
1 parent aa9c459 commit 195940c

File tree

1 file changed

+29
-12
lines changed

1 file changed

+29
-12
lines changed
Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,48 @@
11
---
2-
title: "New in React v0.4: Prop Validation and Default Values"
2+
title: "Новое в React v0.4: Валидацяи пропсов и значения по умолчанию"
33
author: [zpao]
44
---
55

6-
Many of the questions we got following the public launch of React revolved around `props`, specifically that people wanted to do validation and to make sure their components had sensible defaults.
6+
Многие из вопросов, которые мы получили после публичного запуска React,
7+
касались пропсов, в частности, того, что люди хотели провести валидацию
8+
и убедиться в том, что их компоненты имеют верные значения по умолчанию.
79

810

9-
## Validation {#validation}
11+
## Валидация {#валидация}
1012

1113
Oftentimes you want to validate your `props` before you use them. Perhaps you want to ensure they are a specific type. Or maybe you want to restrict your prop to specific values. Or maybe you want to make a specific prop required. This was always possible — you could have written validations in your `render` or `componentWillReceiveProps` functions, but that gets clunky fast.
1214

13-
React v0.4 will provide a nice easy way for you to use built-in validators, or to even write your own.
15+
Часто вы хотите проверить ваши пропсы перед тем, как использовать их.
16+
Возможно, вы хотите удостовериться, что они относятся к определенному типу.
17+
Или, может быть, вы хотите ограничить ваш пропсы конкретными значениями.
18+
Или, может быть, вы хотите сделать требуемый пропс. Это всегда было
19+
возможно - вы могли написать валидацию в `render` или функции
20+
`componentWillReceiveProps`, но это быстро становится неудобным.
21+
22+
React v0.4 предоставит вам хороший простой способ использовать встроенные
23+
валидаторы или даже написать свои собственные.
1424

1525
```js
1626
React.createClass({
1727
propTypes: {
18-
// An optional string prop named "description".
28+
// Опциональная строковая пропса с именем "description".
1929
description: React.PropTypes.string,
2030

21-
// A required enum prop named "category".
31+
// Требуемая перечисляемая пропса с именем "category".
2232
category: React.PropTypes.oneOf(['News','Photos']).isRequired,
2333

24-
// A prop named "dialog" that requires an instance of Dialog.
34+
// Пропса с именем "dialog" которая должна соответстовать типу Dialog.
2535
dialog: React.PropTypes.instanceOf(Dialog).isRequired
2636
},
2737
...
2838
});
2939
```
3040

3141

32-
## Default Values {#default-values}
42+
## Значения по умолчанию {#значения-по-умолчанию}
3343

34-
One common pattern we've seen with our React code is to do something like this:
44+
Один общий шаблон, который мы видели с нашим React кодом, это сделать
45+
что-то вроде этого:
3546

3647
```js
3748
React.createClass({
@@ -42,7 +53,9 @@ React.createClass({
4253
});
4354
```
4455

45-
Do this for a few `props` across a few components and now you have a lot of redundant code. Starting with React v0.4, you can provide default values in a declarative way:
56+
Сделайте это для нескольких пропсов в некоторых компонентам и теперь у
57+
вас будет много избыточного кода. Начиная с React v0.4, вы можете
58+
предоставлять значения по умолчанию декларативным способом:
4659

4760
```js
4861
React.createClass({
@@ -55,8 +68,12 @@ React.createClass({
5568
});
5669
```
5770

58-
We will use the cached result of this function before each `render`. We also perform all validations before each `render` to ensure that you have all of the data you need in the right form before you try to use it.
71+
Мы будем использовать кэшированный результат этой функции перед каждым `render`.
72+
Мы также выполняем все проверки перед каждым `render`, чтобы удостовериться,
73+
что у вас есть все необходимые данные в правильной форме, прежде чем вы попытаетесь их использовать.
5974

6075
- - -
6176

62-
Both of these features are entirely optional. We've found them to be increasingly valuable at Facebook as our applications grow and evolve, and we hope others find them useful as well.
77+
Обе эти функции являются полностью опциональными. Мы обнаружили, что
78+
они становятся все более ценными на Facebook по мере роста и развития
79+
наших приложений, и надеемся, что другие тоже найдут их полезными.

0 commit comments

Comments
 (0)