Skip to content

Commit 8543429

Browse files
Fix React without ES6 after self-review
1 parent c08988c commit 8543429

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

content/docs/react-without-es6.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
id: react-without-es6
3-
title: React Without ES6
3+
title: ES6-sız React
44
permalink: docs/react-without-es6.html
55
---
66

7-
Normalda React komponenti sadə JavaScript klası kimi təyin edilir:
7+
Normalda, React komponenti sadə JavaScript klası kimi təyin edilir:
88

99
```javascript
1010
class Greeting extends React.Component {
@@ -14,7 +14,7 @@ class Greeting extends React.Component {
1414
}
1515
```
1616

17-
ES6 işlətmirsinizsə, `create-react-class` modulundan istifadə edə bilərsiniz:
17+
ES6 işlətmədikdə `create-react-class` modulundan istifadə edə bilərsiniz:
1818

1919

2020
```javascript
@@ -26,11 +26,11 @@ var Greeting = createReactClass({
2626
});
2727
```
2828

29-
ES6 klaslarının API-ı bəzi istinaslar ilə `createReactClass()`-ın API-na oxşardır.
29+
ES6 klaslarının API-ı bəzi istinasları çıxmaqla `createReactClass()`-ın API-na bənzəyir.
3030

3131
## Təyin Edilməyən Propların Müəyyənləşdirilməsi {#declaring-default-props}
3232

33-
Funskiyalar və ES6 klaslarında `defaultProps` komponentin parametri kimi təyin edilir:
33+
`defaultProps` parametri, funksiya və ES6 klaslarında komponentin parametri kimi təyin edilir:
3434

3535
```javascript
3636
class Greeting extends React.Component {
@@ -42,7 +42,7 @@ Greeting.defaultProps = {
4242
};
4343
```
4444

45-
`createReactClass()` funksiyasında isə, təyin edilməyən propları qaytaran `getDefaultProps()` funksiyasını təyin etməlisiniz:
45+
`createReactClass()` işlətdikdə isə təyin edilməyən propları qaytamaq üçün `getDefaultProps()` funksiyası təyin edilməlidir:
4646

4747
```javascript
4848
var Greeting = createReactClass({
@@ -71,7 +71,7 @@ class Counter extends React.Component {
7171
}
7272
```
7373

74-
`createReactClass()` funksiyasında isə ilkin state-i qaytaran əlavə `getInitialState` funksiyasını təyin etməlisiniz:
74+
`createReactClass()` funksiyasında isə ilkin state-i qaytaran `getInitialState` funksiyası təyin edilməlidir:
7575

7676
```javascript
7777
var Counter = createReactClass({
@@ -84,7 +84,7 @@ var Counter = createReactClass({
8484

8585
## Avtomatik Binding {#autobinding}
8686

87-
ES6 klasları ilə təyin olunan React klaslarının funskiyaları standart ES6 klaslarının semantikası ilə eynidir. Bu deməkdirki, klas funksiyaları `this` instansiyasını avtomatik bind etmirlər. Bu səbəbdən, konstruktorda açıq formada `.bind(this)` yazmalısınız:
87+
ES6 klasları ilə təyin olunan React klaslarının funksiyaları standart ES6 klaslarının semantikası ilə eynidir. Bu deməkdir ki, klas funksiyalarında `this` instansiyasını avtomatik bind edilmir. Bu səbəbdən, konstruktorda açıq formada `.bind(this)` yazmalısınız:
8888

8989
```javascript
9090
class SayHello extends React.Component {
@@ -100,7 +100,7 @@ class SayHello extends React.Component {
100100
}
101101

102102
render() {
103-
// `this.handleClick` klasa bind olduğundan biz bu funksiyanı hasidə işləyicisi kimi işlədə bilərik.
103+
// `this.handleClick` klasa bind olduğundan biz bu funksiyanı hadisə işləyicisi kimi işlədə bilərik.
104104
return (
105105
<button onClick={this.handleClick}>
106106
Salam de
@@ -110,7 +110,7 @@ class SayHello extends React.Component {
110110
}
111111
```
112112

113-
`createReactClass()` funksiyasında isə bu lazım deyil. Çünki bu funksiya bütün daxili funksiyalarını avtomatik olaraq bind edir:
113+
`createReactClass()` işlətdikdə isə bütün daxili funksiyalar avtomatik olaraq bind olunur:
114114

115115
```javascript
116116
var SayHello = createReactClass({
@@ -132,19 +132,18 @@ var SayHello = createReactClass({
132132
});
133133
```
134134

135-
Bu deməkdirki ES6 klasları hadisə işləyiciləri üçün əlavə kod tələb edir. Lakin, bu klaslar böyük applikasiyalarda daha tez işləyirlər.
136-
137-
Əgər bu əlavə kod sizin üçün çoxdursa **eksperimental** [Klas Parametrləri](https://babeljs.io/docs/plugins/transform-class-properties/) sintaksis təklifini Babel-da qoşa bilərsiniz:
135+
Bu deməkdir ki, ES6 klasları hadisə işləyiciləri üçün əlavə kod tələb edir. Lakin, bu klaslar böyük applikasiyalarda daha tez işləyirlər.
138136

137+
Əgər bu əlavə kod sizin üçün çoxdursa **eksperimental** [Klas Parametrləri](https://babeljs.io/docs/plugins/transform-class-properties/) sintaksis təklifini Babel-a qoşa bilərsiniz:
139138

140139
```javascript
141140
class SayHello extends React.Component {
142141
constructor(props) {
143142
super(props);
144143
this.state = {message: 'Salam!'};
145144
}
146-
// Xəvərdarlıq: Bu sintaksis eksperimentaldır!
147-
// Burada ox işlətdikdə funksiyalar avtomatik bind olunur:
145+
// Xəbərdarlıq: Bu sintaksis eksperimentaldır!
146+
// Ox funksiyaları funksiyalar avtomatik bind olunur:
148147
handleClick = () => {
149148
alert(this.state.message);
150149
}
@@ -159,9 +158,9 @@ class SayHello extends React.Component {
159158
}
160159
```
161160

162-
Nəzərə alın ki, yuxarıda göstərilən sintaksis **eksperimentaldır**. Bu səbəbdən, bu sintaksis dəyişə bilər və ya təklif dilin spefikiasiyasına çatmaya bilər.
161+
Nəzərə alın ki, yuxarıda göstərilən sintaksis **eksperimentaldır**. Bu səbəbdən, bu sintaksis dəyişə bilər və ya verilən təklif dilin spesifikasiyasına çatmaya bilər.
163162

164-
Əgər problemsiz işlətmək istəyirsinizsə sizdə bir neçə seçim var:
163+
Əgər problemsiz işləmək istəyirsinizsə sizdə bir neçə seçim var:
165164

166165
* Konstruktordan funskiyaları bind edin.
167166
* Ox funksiyalarından istifadə edin: `onClick={(e) => this.handleClick(e)}`.
@@ -171,15 +170,15 @@ Nəzərə alın ki, yuxarıda göstərilən sintaksis **eksperimentaldır**. Bu
171170

172171
>**Qeyd:**
173172
>
174-
>ES6 miksinləri dəstəkləmədən buraxılışa verildi. Bu səbəbdən, React-i ES6 klasları ilə istifadə etdikdə miksinlər dəstəklənmir.
173+
>ES6, miksinlər dəstəklənmədən buraxılışa verildi. Bu səbəbdən, React-i ES6 klasları ilə istifadə etdikdə miksinlər dəstəklənmir.
175174
>
176-
>**Əlavə olaraq miksinli kodlarda çoxlu problemlər tapdığımızdan, [yeni kodda miksinlərin istifadəsini tövsiyyə etmirik](/blog/2016/07/13/mixins-considered-harmful.html).**
175+
>**Əlavə olaraq, miksinli kodlarda çoxlu problemlər tapdığımızdan [yeni kodda miksinlərin istifadəsini tövsiyyə etmirik](/blog/2016/07/13/mixins-considered-harmful.html).**
177176
>
178177
>Bu bölmə yalnız arayış xarakteri daşıyır.
179178
180179
Bəzən, fərqli komponentlər eyni funksionallığı daşıya bilərlər. Bunlar [cross-cutting konsernlər](https://en.wikipedia.org/wiki/Cross-cutting_concern) adlandırılır. `createReactClass` bu konsernlər üçün köhnəlmiş `mixins` sistemindən istifadə etməyə icazə verir.
181180

182-
Bunun üçün çox işlənən ssenarilərdən biri, zaman intervalı ilə komponentin özünü yeniləməsidir. `setInterval()` işlətmək asaındır amma lazım olmadıqda yaddaşı qorumaq üçün intervalı ləğv etmək vacibdir. Komponent yarandıqda və ya dağıldıqda kod icra etmək üçün React [lifecycle funksiyaları](/docs/react-component.html#the-component-lifecycle) təmin edir. Gəlin lifecycle funksiyalarından istifadə edərək komponent dağıldıqda ləğv edilən `setInterval()` funksiyası təmin edək.
181+
Miksinləri işlətməyin çox işlənən ssenarilərdən biri zaman intervalı ilə komponentin yenilənməsidir. `setInterval()` işlətmək asan olsa belə yaddaşı qorumaq üçün lazım olmadıqda intervalı ləğv etmək vacibdir. Komponentin yanandığı və ya dağıldığı zaman kodun icrası üçün React, [lifecycle funksiyaları](/docs/react-component.html#the-component-lifecycle) təmin edir. Gəlin, lifecycle funksiyalarından istifadə edərək komponent dağıldıqda ləğv edilən `setInterval()` funksiyası təmin edək.
183182

184183
```javascript
185184
var SetIntervalMixin = {
@@ -222,4 +221,4 @@ ReactDOM.render(
222221
);
223222
```
224223

225-
Əgər komponent bir neçə miksindən istifadə edirsə və bu miksinlər eyni lifecycle funksiyalarını təyin edirsə (məsələn, komponent dağıldığı zaman bir neçə mixin təmizləmə işləri aparmaq istəyirsə), bütün lifecycle funksiyalarının çağırışı qarantiya olunacaq. Miksinlərdə təyin edilən metodlar miksinlərin massivdə göstərildiyi sıra ilə çağrılacaq. Ən sonda, komponentin lifecycle metodları çağrılacaq.
224+
Əgər komponent bir neçə miksindən istifadə edirsə və bu miksinlər eyni lifecycle funksiyalarını təyin edirsə (məsələn, komponent dağıldığı zaman bir neçə miksin təmizləmə işləri aparmaq istəyirsə) bütün lifecycle funksiyalarının çağırışı qarantiya olunacaq. Miksinlərdə təyin edilən metodlar, miksinlərin massivdə göstərildiyi sıra ilə çağrılacaq. Ən sonda, komponentin lifecycle metodları çağrılacaq.

0 commit comments

Comments
 (0)