diff --git a/content/docs/faq-ajax.md b/content/docs/faq-ajax.md
index 67994a457..118c240e3 100644
--- a/content/docs/faq-ajax.md
+++ b/content/docs/faq-ajax.md
@@ -6,19 +6,19 @@ layout: docs
category: FAQ
---
-### AJAX çağırış nə cür edə bilərəm? {#how-can-i-make-an-ajax-call}
+### AJAX çağırışını nə cür edə bilərəm? {#how-can-i-make-an-ajax-call}
React ilə istədiyiniz Ajax kitabxanasını işlədə bilərsiniz. Populyar kitabxanalar: [Axios](https://github.com/axios/axios), [jQuery AJAX](https://api.jquery.com/jQuery.ajax/), və brauzerə qurulmuş [window.fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).
-### Komponent yaşama tsiklinin harasında Ajax çağırışları etməliyəm? {#where-in-the-component-lifecycle-should-i-make-an-ajax-call}
+### Komponent lifecycle-nın hansı mərhələsində Ajax çağırışı etməliyəm? {#where-in-the-component-lifecycle-should-i-make-an-ajax-call}
-Ajax çağırışdan gələn bütün məlumatları [`componentDidMount`](/docs/react-component.html#mounting) yaşama tsikli funksiyasından tətbiq etməlisiniz. Bunun səbəbi, məlumat alındıqda `setState` ilə komponenti yeniləməkdən imkanının olmasıdır.
+Ajax çağırışından gələn bütün məlumatları [`componentDidMount`](/docs/react-component.html#mounting) lifecycle funksiyasından tətbiq etməlisiniz. Bunun səbəbi, məlumat alındıqda `setState` ilə komponenti yeniləmək imkanının olmasıdır.
-### Nümunə: AJAX nəticələrinin lokal veziyyətə yazılması {#example-using-ajax-results-to-set-local-state}
+### Nümunə: AJAX nəticələrinin lokal state-ə yazılması {#example-using-ajax-results-to-set-local-state}
-Aşağıdakı komponent `componentDidMount`dan Ajax çağırış edib lokal komponent vəziyyətinin doldurulmasını göstərir.
+Aşağıdakı komponent `componentDidMount`-dan Ajax çağırışı edərək lokal komponent state-nin doldurulmasını göstərir.
-Nümunə API belə bir JSON obyekt göndərir:
+Nümunədəki API belə bir JSON obyekti qaytarır:
```
{
@@ -51,8 +51,8 @@ class MyComponent extends React.Component {
});
},
// Qeyd: komponentlərdə olan aktual xətaları udmamaq üçün
- // AJAX xetəlarını `catch()` blokunda tutmaq əvəzinə burda
- // tutmaq daha vacibdir.
+ // AJAX xətəlarını `catch()` blokunda tutmaq əvəzinə burada
+ // tutmaq vacibdir.
(error) => {
this.setState({
isLoaded: true,
diff --git a/content/docs/faq-build.md b/content/docs/faq-build.md
index 7dae5cb41..c0a00b97b 100644
--- a/content/docs/faq-build.md
+++ b/content/docs/faq-build.md
@@ -6,19 +6,19 @@ layout: docs
category: FAQ
---
-### React ilə JSX işlətmək vacibdir? {#do-i-need-to-use-jsx-with-react}
+### React ilə JSX işlətməyim vacibdir? {#do-i-need-to-use-jsx-with-react}
-Yox! Əlavə məlumat üçün ["JSX-siz React sənədinə"](/docs/react-without-jsx.html) baxın.
+Xeyr! Əlavə məlumat üçün ["JSX-siz React sənədinə"](/docs/react-without-jsx.html) baxın.
-### React ilə ES6 (+) işlətmək vacibdir? {#do-i-need-to-use-es6--with-react}
+### React ilə ES6 (+) işlətməyim vacibdir? {#do-i-need-to-use-es6--with-react}
-Yox! Əlavə məlumat üçün ["ES6-sız React sənədinə"](/docs/react-without-es6.html) baxın.
+Xeyr! Əlavə məlumat üçün ["ES6-sız React sənədinə"](/docs/react-without-es6.html) baxın.
-### JSX-də kommentləri necə yazmaq lazımdır? {#how-can-i-write-comments-in-jsx}
+### JSX-də kommentləri necə yazmalıyam? {#how-can-i-write-comments-in-jsx}
```jsx
- {/* Komment bura gedir */}
+ {/* Komment bura yazılır */}
Salam {name}!
```
diff --git a/content/docs/faq-functions.md b/content/docs/faq-functions.md
index 339c0f163..849f0d883 100644
--- a/content/docs/faq-functions.md
+++ b/content/docs/faq-functions.md
@@ -14,13 +14,13 @@ Hadisə işləyicilərini və digər funksiyaları uşaq komponentlərə proplar
```
-Hadisə işləyicisini valideyn komponentdən istifadə etdikdə funksiyanı komponent instansiyasına bind etmək lazımdır (aşağı bölməyə baxın).
+Hadisə işləyicisində valideyn komponentdən istifadə etmək istədikdə, funksiyanı komponent instansiyasına bind etmək lazımdır (aşağı bölməyə baxın).
-### Funksiyanı komponent instansiyasına necə bind etmək olar? {#how-do-i-bind-a-function-to-a-component-instance}
+### Funksiyanı komponent instansiyasına necə bind edə bilərəm? {#how-do-i-bind-a-function-to-a-component-instance}
-Funksiyalardan `this.props` və `this.state` kimi atributların istifadəsinin qurulma addımından və sintaksisdən asılı olaraq bir neçə yolu var.
+Qurulma addımından və sintaksisdən asılı olaraq funksiyaların `this.props` və `this.state` kimi atributları istifadə etməsi üçün bir neçə yolu var.
-#### Konstruktorda Bind Etmək (ES2015) {#bind-in-constructor-es2015}
+#### Konstruktorda Bind etmək (ES2015) {#bind-in-constructor-es2015}
```jsx
class Foo extends Component {
@@ -51,12 +51,12 @@ class Foo extends Component {
}
```
-#### Render-dən Bind Etmək {#bind-in-render}
+#### Render-də Bind etmək {#bind-in-render}
```jsx
class Foo extends Component {
handleClick() {
- console.log('Tıklama Hadisəsi Baş Verdi');
+ console.log('Tıklama hadisəsi baş verdi');
}
render() {
return Tıkla ;
@@ -66,7 +66,7 @@ class Foo extends Component {
>**Qeyd:**
>
->`Function.prototype.bind` funksiyanı render-dən çağrıldıqda komponentin hər render edilməsi zamanı yeni funksiya yaranacaq. Bunun performansa təsiri ola bilər (aşağıdakı bölmələrə baxın).
+>`Function.prototype.bind` funksiyanı render-də çağırdıqda komponentin hər render edilməsi zamanı yeni funksiya yaranacaq. Bunun performansa təsiri ola bilər (aşağıdakı bölmələrə baxın).
#### Render-də Ox Funksiyası {#arrow-function-in-render}
@@ -83,17 +83,17 @@ class Foo extends Component {
>**Qeyd:**
>
->Render-dən ox funksiyası işlədildikdə komponentin hər render edilməsi zamanı yeni funksiya yaranacaq. Bu, identiklik müqayisələrinin optimallaşdırılmasını sındıra bilər.
+>Render-dən ox funksiyası işlədildikdə komponentin hər render edilməsi zamanı yeni funksiya yaranacaq. Bu, identiklik müqayisələrə dayalı optimallaşdırılmaları sındıra bilər.
### Render funksiyalarında ox funksiyalarını işlətmək olar? {#is-it-ok-to-use-arrow-functions-in-render-methods}
Normalda, olar. Bu, callback funksiyalarına arqumentlər göndərməyin ən asan yoludur.
-Performans problemləri olduqda optimizasiya edin!
+Performans problemləri olduqda optimallaşdırma edin!
-### Binding Niyə Vacibdir? {#why-is-binding-necessary-at-all}
+### Bind etmə niyə vacibdir? {#why-is-binding-necessary-at-all}
-JavaScript-də bu iki kod bərabər **deyil**:
+JavaScript-də aşağıdakı iki kod parçası bərabər **deyil**:
```js
obj.method();
@@ -104,15 +104,15 @@ var method = obj.method;
method();
```
-İkinci kod ilə birinci kodun eyni işləməsi üçün binding lazımdır.
+İkinci kod parçası ilə birinci kod parçasının eyni işləməsi üçün bind etmə lazımdır.
-React-də, adətən digər komponentlərə *göndərilən* funksiyaları bind etmək lazımdır. Məsələn, `` kodu `this.handleClick` funksiyasını göndərdiyindən bu funksiyanı bind edin. Lakin, `render` və ya lifecycle funksiyalarını bind etmək lazım deyil. Biz bu funksiyaları digər komponentlərə göndərmirik.
+React-də, adətən digər komponentlərə *göndərilən* funksiyaları bind etmək lazımdır. Məsələn, `` kodu `this.handleClick` funksiyasını göndərdiyinə görə bu funksiyanı bind etmək lazımdır. Lakin, `render` və ya lifecycle funksiyalarını bind etmək lazım deyil. Biz bu funksiyaları digər komponentlərə göndərmirik.
-[Yehuda Katzın bu məqaləsində](https://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/) binding-in nə olduğu və JavaScript-də funksiyaların necə işlədiyini haqqında izahatlar var.
+[Yehuda Katzın bu məqaləsində](https://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/) bind etmənin nə olduğu və JavaScript-də funksiyaların necə işlədiyi haqda izahatlar var.
-### Niyə funksiya, komponent render edildiyi zamanı çağrılır? {#why-is-my-function-being-called-every-time-the-component-renders}
+### Niyə funksiyam komponent hər render edildiyi zaman çağrılır? {#why-is-my-function-being-called-every-time-the-component-renders}
-Funksiyanı komponentə göndərdikdə _bu funksiyanı çağırmayın_:
+Funksiyanı komponentə göndərdikdə _bu funksiyanı çağırmadığınızdan_ əmin olun:
```jsx
render() {
@@ -121,7 +121,7 @@ render() {
}
```
-Əvəzinə, *funksiyanın özünü göndərin* (mötərizəsiz):
+Bunun əvəzinə, *funksiyanın özünü göndərin* (mötərizəsiz):
```jsx
render() {
@@ -144,7 +144,7 @@ Bu, `.bind` funksiyasının çağrılmasına bərabərdir:
```
-#### Nümunə: Arqumentlərin ox funksiyalarına göndərilməsi {#example-passing-params-using-arrow-functions}
+#### Nümunə: Arqumentləri ox funksiyaları ilə göndərmək {#example-passing-params-using-arrow-functions}
```jsx
const A = 65 // ASCII hərf kodu
@@ -178,9 +178,9 @@ class Alphabet extends React.Component {
}
```
-#### Nümunə: Arqumentlərin data-atributlarına göndərilməsi {#example-passing-params-using-data-attributes}
+#### Nümunə: Arqumentləri data-atributları ilə göndərmək {#example-passing-params-using-data-attributes}
-Alternativ olaraq, DOM API-ından istifadə edərək hadisə işləyiciləri üçün lazım olan məlumatları saxlaya bilərsiniz. Böyük sayda elementləri optimallaşdırmaq və ya React.PureComponent yoxlamalarından asılı olan render ağacından istifadə etmək istəyirsinizsə, bu yanaşmadan istifadə edin.
+Alternativ olaraq, DOM API-ları istifadə edərək hadisə işləyiciləri üçün lazım olan məlumatları saxlaya bilərsiniz. Böyük sayda elementləri optimallaşdırmaq və ya React.PureComponent yoxlamalarından asılı olan render ağacından istifadə etmək istəyirsinizsə, bu yanaşmanı nəzərə alın.
```jsx
const A = 65 // ASCII hərf kodu
@@ -218,23 +218,23 @@ class Alphabet extends React.Component {
}
```
-### Funksiyanın tez-tez və ya eyni zamanda bir neçə dəfə çağrılmasının qarşısını necə ala bilərəm? {#how-can-i-prevent-a-function-from-being-called-too-quickly-or-too-many-times-in-a-row}
+### Funksiyanın çox tez və ya eyni zamanda bir neçə dəfə çağrılmasının qarşısını necə ala bilərəm? {#how-can-i-prevent-a-function-from-being-called-too-quickly-or-too-many-times-in-a-row}
-Əgər `onClick` və ya `onScroll` kimi hadisə işləyicilərindən istifadə edir və bu callback-lərin tez çağrılmasının qarşısını almaq istəyirsinizsə, callback-in çağrılmasının sürətini aşağıdakl yollar ilə məhdudlaşdıra bilərsiniz:
+Əgər `onClick` və ya `onScroll` kimi hadisə işləyicilərindən istifadə edir və bu callback-lərin tez çağrılmasının qarşısını almaq istəyirsinizsə, callback-in çağrılma sıxlığını aşağıdakı yollar ilə məhdudlaşdıra bilərsiniz:
-- **boğmaq (throttle)**: yeniliklərin vaxt tezliyinə görə seçin (məsələn, [`_.throttle`](https://lodash.com/docs#throttle))
-- **debounce edin**: hərəkətsizlik olduqdan sonra yenilikləri dərc edin (məsələn, [`_.debounce`](https://lodash.com/docs#debounce))
-- **`requestAnimationFrame` ilə boğmaq**: yenilikləri [`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) əsasında seçin (məsələn, [`raf-schd`](https://github.com/alexreardon/raf-schd))
+- **throttle etmə**: yenilikləri vaxt tezliyinə görə seçmə (məsələn, [`_.throttle`](https://lodash.com/docs#throttle))
+- **debounce etmə**: bir müddət fəaliyyətsizlik sonra yenilikləri əməl etmə (məsələn, [`_.debounce`](https://lodash.com/docs#debounce))
+- **`requestAnimationFrame` ilə throttle etmə**: yenilikləri [`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) əsasında seçmə (məsələn, [`raf-schd`](https://github.com/alexreardon/raf-schd))
`throttle` və `debounce` funksiyaslarının müqayisəsi üçün [bu görüntüyə baxın](http://demo.nimius.net/debounce_throttle/).
> Qeyd:
>
-> `_.debounce`, `_.throttle` və `raf-schd` funksiyaları gecikən callback-ləri ləğv etmək üçün `cancel` funksiyası təmin edirlər. Siz bu funksiyanı `componentWillUnmount`-dan çağırmalı _və ya_ gecikən funksiyanın daxilindən komponentin mount olunduğunu yoxlamalısınız.
+> `_.debounce`, `_.throttle` və `raf-schd` funksiyaları gecikən callback-ləri ləğv etmək üçün `cancel` funksiyası təmin edirlər. Siz bu funksiyanı `componentWillUnmount`-dan çağırmalı _və ya_ gecikən funksiyanın daxilində komponentin mount olunduğunu yoxlamalısınız.
-#### Boğma {#throttle}
+#### Throttle {#throttle}
-Boğma, verilən vaxt çərçivəsində funksiyanın birdən çox çağrılmasının qarşısını alır. Aşağıdakı nümunədə "click" işləyicisinin bir saniyə ərzində birdən çox çağrılmasının qarşısı alınır.
+Throttle etmə, verilən vaxt çərçivəsində funksiyanın birdən çox çağrılmasının qarşısını alır. Aşağıdakı nümunədə "click" işləyicisinin bir saniyə ərzində birdən çox çağrılmasının qarşısı alınır.
```jsx
import throttle from 'lodash.throttle';
@@ -290,7 +290,7 @@ class Searchbox extends React.Component {
}
handleChange(e) {
- // React hadisələri pool etdiyindən biz dəyəri debounce-dan əvvəl oxuyuruq.
+ // React hadisələri pool-a əlavə etdiyindən biz dəyəri debounce-dan əvvəl oxuyuruq.
// Alternativ olaraq, `event.persist()` funksiyasını çağıraraq bütün hadisəni göndərmək mümkündür.
// Əlavə məlumat üçün az.reactjs.org/docs/events.html#event-pooling səhifəsinə baxın.
this.emitChangeDebounced(e.target.value);
@@ -302,9 +302,9 @@ class Searchbox extends React.Component {
}
```
-#### `requestAnimationFrame` ilə boğmaq {#requestanimationframe-throttling}
+#### `requestAnimationFrame` ilə throttle etmə {#requestanimationframe-throttling}
-[`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) funksiyası, göndərilən funksiyanı brauzerdə növbəyə salaraq render performansını artırmaq üçün bu funksiyanı optimal zamanda çağırır. `requestAnimationFrame` ilə növbələnən funksiya sonrakı kadrda çağrılacaq. Brauzer saniyəyə 60 kadrın olmasını (60 fps) təmin etmək üçün çox çalışacaq. Lakin, 60 fps təmin edilə bilmədikdə natural olaraq bir saniyəyə düşən kadrların sayı *məhdudlaşdırılacaq*. Məsələn, aparat yalnız 30 fps qəbul edə bilirsə, brauzer saniyəyə 30 kadr göstərəcək. Saniyəyə 60-dan çox yenilik etmənin qabağını almaq üçün `requestAnimationFrame` funksiyasını boğma üçün istifadə etmək faydalıdır. Onsuzda, 100-dən çox yenilik edildikdə brauzerin icra edəcəyi işi istifadəçi görməyəcək.
+[`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) funksiyası, göndərilən funksiyanı brauzerdə növbəyə salaraq render performansını artırmaq üçün bu funksiyanı optimal zamanda çağırır. `requestAnimationFrame` ilə növbələnən funksiya sonrakı kadrda çağrılacaq. Brauzer saniyəyə 60 kadrın olmasını (60 fps) təmin etmək üçün çox çalışacaq. Lakin, 60 fps təmin edilə bilmədikdə natural olaraq bir saniyəyə düşən kadrların sayı *məhdudlaşdırılacaq*. Məsələn, aparat yalnız 30 fps qəbul edə bilirsə, brauzer saniyəyə 30 kadr göstərəcək. Saniyəyə 60-dan çox yenilik etmənin qabağını almaq üçün `requestAnimationFrame` funksiyasını throttle etmək üçün istifadə etmək faydalıdır. Onsuzda, 100-dən çox yenilik edildikdə brauzerin icra edəcəyi işi istifadəçi görməyəcək.
>**Qeyd:**
>
@@ -351,4 +351,4 @@ class ScrollListener extends React.Component {
#### Sürətin məhdudlaşdırılmasını test edin {#testing-your-rate-limiting}
-Sürəti məhdudlaşan kodu test etdikdə vaxtı qabağa çəkmək qabiliyyətinin olması faydalı ola bilər. [`Jest`](https://facebook.github.io/jest/) işlədirsinizsə, vaxtı qabağa çəkmək üçün [`taymer moklarından`](https://facebook.github.io/jest/docs/en/timer-mocks.html) istifadə edə bilərsiniz. `requestAnimationFrame` boğmasından istifadə etdikdə animasiya kadrlarını idarə etmək üçün [`raf-stub`](https://github.com/alexreardon/raf-stub) alətini faydalı tapa bilərsiniz.
+Sürəti məhdudlaşan kodu test etdikdə vaxtı qabağa çəkmək qabiliyyətinin olması faydalı ola bilər. [`Jest`](https://facebook.github.io/jest/) işlədirsinizsə, vaxtı qabağa çəkmək üçün [`taymer moklarından`](https://facebook.github.io/jest/docs/en/timer-mocks.html) istifadə edə bilərsiniz. `requestAnimationFrame` throttle etməsindən istifadə etdikdə animasiya kadrlarını idarə etmək üçün [`raf-stub`](https://github.com/alexreardon/raf-stub) alətini faydalı ola bilər.
diff --git a/content/docs/faq-internals.md b/content/docs/faq-internals.md
index d7d7cc3b0..d334790c2 100644
--- a/content/docs/faq-internals.md
+++ b/content/docs/faq-internals.md
@@ -6,18 +6,18 @@ layout: docs
category: FAQ
---
-### Virtual DOM Nədir? {#what-is-the-virtual-dom}
+### Virtual DOM nədir? {#what-is-the-virtual-dom}
UI-ın ideal və ya "virtual" təmsilinin yaddaşda saxlanılması və ReactDOM kimi kitabxananın bu strukturu "real" DOM ilə sinxronlaşdırılması konsepsiyası virtual DOM (VDOM) adlanır. Sinxronizasiya prosesi [rekonsilyasiya](/docs/reconciliation.html) adlanır.
Bu yanaşma, React-in deklarativ API olmasına imkan yaradır: React-də state yenilikləri baş verdikdə React, DOM-u state-ə uyğunlaşdırır. Bu, atribut manipulyasiyası, hadisə işləyiciləri, və DOM-un əl ilə yenilənməsi kimi əməliyyatları abstraktlaşdırır. Əks təqdirdə, bu əməliyyatları öz applikasiyanızda tətbiq etməlisiniz.
-"Virtual DOM-un" spesifik texnologiya yox, daha çox pattern olmasına görə adamlar bu adı fərqli fikirləri izah etmək üçün işlədirlər. React dünyasında, "virtual DOM" terminologiyası [React elementləri](/docs/rendering-elements.html) ilə əlaqəlidir. Bunun səbəbi, React elementlərinin istifadəçi interfeysini təqdim etməsidir. Lakin, əlavə olaraq, React, komponent ağacı haqqında əlavə məlumat saxlamaq üçün "fiber" adlı daxili obyektlərdən istifadə edir. Bu obyektlər React-də "virtual DOM" tətbiqinin bir hissəsi kimi də qəbul edilə bilər.
+"Virtual DOM-un" spesifik texnologiya yox, daha çox pattern olmasına görə proqramçılar bu adı fərqli fikirləri izah etmək üçün işlədirlər. React dünyasında, "virtual DOM" terminologiyası [React elementləri](/docs/rendering-elements.html) ilə əlaqəlidir. Bunun səbəbi, React elementlərinin istifadəçi interfeysini təqdim etməsidir. Lakin, əlavə olaraq, React, komponent ağacı haqqında əlavə məlumat saxlamaq üçün "fiber" adlı daxili obyektlərdən istifadə edir. Bu obyektlər React-də "virtual DOM" tətbiqinin bir hissəsi kimi də qəbul edilə bilər.
-### Shadow DOM Virtual DOM ilə Eynidir? {#is-the-shadow-dom-the-same-as-the-virtual-dom}
+### Shadow DOM Virtual DOM ilə eynidir? {#is-the-shadow-dom-the-same-as-the-virtual-dom}
-Yox, bunlar fərqli konsepsiyalardır. Shadow DOM, dəyişənlər və CSS-i veb komponentlərdə scope etmək üçün istifadə edilən brauzer texnologiyasıdır. Virtual DOM isə brauzer API-ları üzərində JavaScript kitabxanaları tərəfindən tətbiq edilmiş konsepsiyadır.
+Xeyr, bunlar fərqli konsepsiyalardır. Shadow DOM, dəyişənlər və CSS-i veb komponentlərdə scope etmək üçün istifadə edilən brauzer texnologiyasıdır. Virtual DOM isə brauzer API-ları üzərində JavaScript kitabxanaları tərəfindən tətbiq edilmiş konsepsiyadır.
-### "React Fiber" Nədir? {#what-is-react-fiber}
+### "React Fiber" nədir? {#what-is-react-fiber}
React 16-da işlədilən rekonsilyasiya mexanizminin adı Fiber-dir. Bu mexanizm virtual DOM-un inkremental render edilməsinə imkan yaradır. Əlavə məlumat üçün [bu linkə baxın](https://github.com/acdlite/react-fiber-architecture).
diff --git a/content/docs/faq-state.md b/content/docs/faq-state.md
index 6c82e5af8..70443cc91 100644
--- a/content/docs/faq-state.md
+++ b/content/docs/faq-state.md
@@ -19,7 +19,7 @@ Komponentin `state` obyektinin yenilənməsi əməliyyatını planlamaq üçün
* [Props və ya State](https://github.com/uberVU/react-guide/blob/master/props-vs-state.md)
* [ReactJS: Props və ya State](https://lucybain.com/blog/2016/react-state-vs-pros/)
-### `setState` niyə yanlış dəyər qaytarır? {#why-is-setstate-giving-me-the-wrong-value}
+### Niyə `setState` mənə yanlış dəyər qaytarır? {#why-is-setstate-giving-me-the-wrong-value}
React dünyasında `this.props` və `this.state` obyektləri *render olunmuş* (ekranda görününən) dəyərləri təmsil edir.
@@ -52,7 +52,7 @@ Bu problemi düzəltmək üçün aşağıdakı bölmələrə baxın.
### Cari state dəyəri əsasında yeni state-i necə yeniləyə bilərəm? {#how-do-i-update-state-with-values-that-depend-on-the-current-state}
-`setState` funksiyasına obyekt əvəzinə funksiya göndərərək cari dəyərin hər zaman ən yeni dəyər olduğunu siğortalamaq mümkündür (aşağıda baxın).
+`setState` funksiyasına obyekt əvəzinə funksiya göndərərək cari dəyərin hər zaman ən yeni dəyər olduğunu siğortalamaq mümkündür (aşağıya baxın).
### `setState`-ə obyekt və funksiya göndərmək arasında olan fərq nədir? {#what-is-the-difference-between-passing-an-object-or-a-function-in-setstate}
@@ -61,7 +61,7 @@ Yeniləmə funksiyası göndərildikdə cari state-in funksiya daxilindən istif
```jsx
incrementCount() {
this.setState((state) => {
- // Vacıb: yeniləmə zamanı cari state üçün `this.state` əvəzinə `state` obyektindən istifadə edin.
+ // Vacib: yeniləmə zamanı cari state üçün `this.state` əvəzinə `state` obyektindən istifadə edin.
return {count: state.count + 1}
});
}
@@ -83,15 +83,15 @@ handleSomething() {
Hal hazırda, `setState`, hadisə işləyiciləri daxilində asinxron baş verir.
-Nümunə: Tıklamaq hadisəsi zamanı `Parent` və `Child` komponentləri `setState` çağırdıqda `Child`-ın iki dəfə render edilməməsi üçün `setState`-in asinxron olması vacibdir. Əvəzinə, React, brauzer hadisəsinin sonunda state yeniliklərini "təmizləyir". Bu, böyük applikasiyalarda böyük performans qazancına səbəb olur.
+Nümunə: Tıklamaq hadisəsi zamanı `Parent` və `Child` komponentləri `setState` çağırdıqda `Child`-ın iki dəfə render edilməməsi üçün `setState`-in asinxron olması vacibdir. Bunun yerinə, React, brauzer hadisəsinin sonunda state yeniliklərini "təmizləyir". Bu, böyük applikasiyalarda vacib performans qazancına səbəb olur.
Bunun tətbiq detalı olduğundan bu qanuna etibar etməyin. Gələcək versiyalarda yeniliklər daha çox ssenarilərdə dəstələnəcək.
### Niyə `this.state` dəyəri sinxron yenilənmir? {#why-doesnt-react-update-thisstate-synchronously}
-Əvvəlki bölmədə izah edildiyi kimi, yenideən render etmək əməliyyatı bütün komponentlərin hadisə işləyicilərindən `setState`-lər çağırıldıqdan sonra başlayır. Bu, lazımsız render etmələrin qabağını alaraq performans qazancına səbəb olur.
+Əvvəlki bölmədə izah edildiyi kimi, yenidən render etmək əməliyyatı bütün komponentlərin hadisə işləyicilərindən `setState`-lər çağırıldıqdan sonra başlayır. Bu, lazımsız render etmələrin qabağını alaraq performans qazancına səbəb olur.
-Lakin, React-in `this.state`-i render etmədən yeniləmədiyi sizi maraqlandıra bilər.
+Lakin, React-in niyə `this.state`-i render etmədən yeniləmədiyi sizi maraqlandıra bilər.
Bunun iki səbəbi var:
diff --git a/content/docs/faq-structure.md b/content/docs/faq-structure.md
index f502b9b66..3be9f90d3 100644
--- a/content/docs/faq-structure.md
+++ b/content/docs/faq-structure.md
@@ -10,9 +10,9 @@ category: FAQ
React, faylları hansı direktoriyalara yerləşdirmək haqqında heç bir fikir daşımır. Lakin, ekosistemdə bir neçə populyar yanaşma var.
-#### Xüsusiyyətlər və ya Naviqasiya əsasında Qruplamaq {#grouping-by-features-or-routes}
+#### Xüsusiyyətlər və ya naviqasiyalar əsasında qruplamaq {#grouping-by-features-or-routes}
-CSS, JS və testləri xüsusiyyət və ya naviqasiya əsasında qruplaşdırmaq ilə layihələri struktur etmək populyar yanaşmalardan biridir.
+CSS, JS və testləri xüsusiyyət və ya naviqasiya əsasında qruplaşdıraraq layihələri struktur etmək populyar yanaşmalardan biridir.
```
common/
@@ -37,9 +37,9 @@ profile/
"Xüsusiyyət" sözünün universal mənası yoxdur. Bu səbəbdən, xüsusiyyətin dərəcəsini seçmək sizdən asılıdır. Əgər üst direktoriyalar siyahısını çıxara bilmirsinizsə, məhsulun əsas hissələrini istifadəçilərdən soruşaraq istifadəçilərin fikir modeli əsasında plan qura bilərsiniz.
-#### Fayl Tipi əsasında Qruplamaq {#grouping-by-file-type}
+#### Fayl tipi əsasında qruplamaq {#grouping-by-file-type}
-Oxşar faylları bir yerdə qrup etmək layihələri struktur etməyin başqa yoludur:
+Oxşar faylları bir yerdə qruplaşdıraraq layihələri struktur etməyin başqa yoludur:
```
api/
@@ -59,7 +59,7 @@ components/
ProfileHeader.css
```
-Bəziləri daha dərinə gedərək applikasiyada olan roldan asılı olaraq komponentləri fərqli direktoriyalara ayırırlar. Məsələn, [Atomik Dizayn](http://bradfrost.com/blog/post/atomic-web-design/) bu prinsip üzərində yaranmış metodologiyalardan biridir. Belə metodologiyaları sərt qanunlar kimi yox, faydarlı nümunələr kimi işlətməyin daha produktiv olduğunu unutmayın.
+Bəzi proqramçılar daha dərinə gedərək applikasiyada olan roldan asılı olaraq komponentləri fərqli direktoriyalara ayırırlar. Məsələn, [Atomik Dizayn](http://bradfrost.com/blog/post/atomic-web-design/) bu prinsip üzərində yaranmış metodologiyalardan biridir. Belə metodologiyaları sərt qanunlar kimi yox, faydarlı nümunələr kimi işlətməyin daha produktiv olduğunu unutmayın.
#### Çox iç-içə direktoriya yaratmaqdan çəkinin {#avoid-too-much-nesting}
diff --git a/content/docs/faq-styling.md b/content/docs/faq-styling.md
index 14691c84b..0b6d2eada 100644
--- a/content/docs/faq-styling.md
+++ b/content/docs/faq-styling.md
@@ -6,7 +6,7 @@ layout: docs
category: FAQ
---
-### Komponentlərə CSS Siniflərini Necə Əlavə Edə Bilərəm? {#how-do-i-add-css-classes-to-components}
+### Komponentlərə CSS siniflərini necə əlavə edə bilərəm? {#how-do-i-add-css-classes-to-components}
Sinifləri mətn formasında `className` propuna göndərin:
@@ -30,22 +30,22 @@ render() {
>Məsləhət
>
->Əgər yuxarıdakı formalı kodu çox yazırsınızsa [classnames](https://www.npmjs.com/package/classnames#usage-with-reactjs) paketi ilə bu kodu sadələşdirə bilərsiniz.
+>Əgər yuxarıdakı formalı kodu çox yazırsınızsa, [classnames](https://www.npmjs.com/package/classnames#usage-with-reactjs) paketi ilə bu kodu sadələşdirə bilərsiniz.
-### Eyni-sətrli Stillər İşlədə Bilərəm? {#can-i-use-inline-styles}
+### Sətirdaxili stillər işlədə bilərəm? {#can-i-use-inline-styles}
Bəli, stilləmək haqqında məlumat üçün [bu sənədə](/docs/dom-elements.html#style) baxın.
-### Eyni-sətrli Stillər Pisdir? {#are-inline-styles-bad}
+### Sətirdaxili stillər pisdir? {#are-inline-styles-bad}
-CSS sinifləri eyni-sətrli stillərdən daha tez işləyir.
+CSS sinifləri sətirdaxili stillərdən daha performanslıdır.
-### CSS-in-JS Nədir? {#what-is-css-in-js}
+### CSS-in-JS nədir? {#what-is-css-in-js}
-CSS-in kənar fayllarda tərtib edilməsi əvəzinə JavaScript-də tərtib edilməsi metodu "CSS-in-JS" adlanır. CSS-in-JS kitabxanalarının müqayisəsinə [buradan](https://github.com/MicheleBertoli/css-in-js) baxın.
+CSS-in kənar fayllarda tərtib edilməsi əvəzinə JavaScript istifadə edərək tərtib edilməsi metodu "CSS-in-JS" adlanır. CSS-in-JS kitabxanalarının müqayisəsinə [buradan](https://github.com/MicheleBertoli/css-in-js) baxın.
-_Nəzərə alın ki, bu funksionallıq React-in bir hissəsi deyil. Bu, 3-cü tərəfli kitabxanalar tərəfindən təmin edilir._ React, stillərin necə işlənməsi haqqında heç bir fikir vermir. Əgər seçim edə bilmirsinizsə, başlanğıc nöqtəsi kimi stilləri ayrı `*.css` fayllarında yaradıb [`className`](/docs/dom-elements.html#classname) ilə istinas edə bilərsiniz.
+_Nəzərə alın ki, bu funksionallıq React-in bir hissəsi deyil. Bu, üçüncü tərəfli kitabxanalar tərəfindən təmin edilir._ React, stillərin necə işlənməsi haqqında heç bir fikir vermir. Əgər seçim edə bilmirsinizsə, başlanğıc nöqtəsi kimi stilləri ayrı `*.css` fayllarında yaradıb [`className`](/docs/dom-elements.html#classname) ilə istifadə edə bilərsiniz.
-### React-də Animasiya Edə Bilərəm? {#can-i-do-animations-in-react}
+### React-də animasiya edə bilərəm? {#can-i-do-animations-in-react}
React ilə animasiya icra etmək mümkündür. [React Transition Group](https://reactcommunity.org/react-transition-group/), [React Motion](https://github.com/chenglou/react-motion) və ya [React Spring](https://github.com/react-spring/react-spring) kimi kitabxanalara baxın.
diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md
index 795931820..debd07ea4 100644
--- a/content/docs/faq-versioning.md
+++ b/content/docs/faq-versioning.md
@@ -14,11 +14,11 @@ Bu deməkdirki, **x.y.z** formatlı versiyada:
* **Yeni xüsusiyyətlər əlavə edildikdə** və ya **kritiki olmayan düzəlişlər edildikə** **y** rəqəmini dəyişərək (məsələn, 15.6.2-dən 15.7.0-a) **kiçik (minor) buraxılış** dərc edilir.
* **Pozucu dəyişiklik edildikdə** **x** rəqəmini dəyişərək (məsələn, 15.6.2-dən 16.0.0-a) **böyük (major) buraxılış** dərc edilir.
-Böyük buraxılışlarda yeni xüsusiyyətlər, istənilən buraxılışda isə baq düzəlişləri ola bilər.
+Böyük buraxılışlarda adətən yeni xüsusiyyətlər olur. Baq düzəlişləri isə istənilən buraxılışda ola bilər.
Ən çox dərc edilən buraxılışlar kiçik buraxılışlardır.
-Bu versiya qaydaları Next və Eksperimental kanallarda olan ön buraxılışları ehtiva etmir. [Ön buraxılışlar üçün buradan oxuyun.](/docs/release-channels.html)
+> Bu versiya qaydaları Next və Eksperimental kanallarda olan ön buraxılışları daxil etmir. [Ön buraxılışlar üçün buradan oxuyun.](/docs/release-channels.html)
### Pozucu Dəyişikliklər {#breaking-changes}
@@ -30,11 +30,11 @@ Pozucu dəyişikliklər hamı üçün narahatçılıq yaratdığından biz böy
React, zaman ilə yeniləndikcə biz yeni xüsusiyyətlərdən istifadə etmək cəhdini asanlaşdırmağa çalışırıq. İmkan olduqca, biz köhnə API-ların işləməsini qorumağa çalışırıq (köhnə API-ı fərqli paketdə dərc etmək lazım gəldikdə belə). Məsələn, [miksinlərin işlədilməsinin illərlə tövsiyə edilmədiyinə](/blog/2016/07/13/mixins-considered-harmful.html) baxmayaraq miksinlər [create-react-class](/docs/react-without-es6.html#mixins) paketində dəstəklənir və bir çox köhnə, stabil layihələrdə istifadə edilir.
-React, milyondan çox proqramçı (kollektiv olaraq milyondan çox komponenti) tərəfindən istifadə edilir. Facebook-un kodu təklikdə 50.000 React komponentindən ibarətdir. Bu səbəbdən, React-in yeni versiyalara yenilənməsini mümkün qədər asanlaşdırmalıyıq. Miqrasiya yolu göstərilmədən böyük dəyişikliklər edilərsə istifadəçilər köhnə versiyalarda qalacaqlar. Biz, bu yeniləmə yollarını Facebook-da yoxlayırıq. Əgər bizim 10 nəfərdən az proqramçıdan ibarət olan komandamız 50.000+ komponenti yeniləyə bilirsə, biz bu yeniliklərin React-i istifadə edən proqramçılar üçün idarə oluna biləcəyini ümid edirik. Bir çox ssenaridə, hər open-source buraxılışında komponent sintaksisini yeniləmək üçün [avtomatlaşmış skriptlər](https://github.com/reactjs/react-codemod) ehtiva edirik.
+React, milyondan çox proqramçı (kollektiv olaraq milyondan çox komponenti) tərəfindən istifadə edilir. Facebook-un kodu təklikdə 50.000 React komponentindən ibarətdir. Bu səbəbdən, React-in yeni versiyalara yenilənməsini mümkün qədər asanlaşdırmalıyıq. Miqrasiya yolu göstərilmədən böyük dəyişikliklər edilərsə, istifadəçilər köhnə versiyalarda qalacaqlar. Biz, bu yeniləmə yollarını Facebook-da yoxlayırıq. Əgər bizim 10 nəfərdən az proqramçıdan ibarət olan komandamız 50.000+ komponenti yeniləyə bilirsə, biz bu yeniliklərin React-i istifadə edən proqramçılar üçün idarə oluna biləcəyini ümid edirik. Bir çox hallarda, open-source buraxılışında komponent sintaksisini yeniləmək üçün [avtomatlaşmış skriptlər](https://github.com/reactjs/react-codemod) əlavə edirik.
### Xəbərdarlıqlar ilə Tədrici Yeniləmələr {#gradual-upgrades-via-warnings}
-React-in development qurmaları əlavə xəbərdarlıqlar ehtiva edir. Gələcək pozucu dəyişikliklərə hazırlıq üçün mümkün olduğu qədər xəbərdarlıqlar əlavə olunur. Bu yol ilə applikasiyanızın ən son buraxılışında xəbərdarlıq olmadıqda applikasiya React-in gələcək böyük buraxılışına hazır olacaq. Bu, applikasiyanı komponent-komponent yeniləməyə imkan yaradır.
+React-in development qurulmaları əlavə xəbərdarlıqlar ehtiva edir. Gələcək pozucu dəyişikliklərə hazırlıq üçün mümkün olduğu qədər xəbərdarlıqlar əlavə olunur. Əgər applikasiyanızın ən son buraxılışında xəbərdarlıqlar vermirsə, deməli applikasiyanızın React-in gələcək böyük buraxılışına hazırdır. Bu, applikasiyadakı komponentləri tək-tək yeniləməyə imkan verir.
Development xəbədarlıqları applikasiyanın icra davranışına təsir etmir. Bu səbəbdən, applikasiyanın development və produksiya qurulmalarının eyni işləməsindən əmin ola bilərsiniz. Produksiya qurulmasında xəbərdarlıqlar loq olunmur və produksiya qurulması daha səmərəli işləyir. (Əgər sizdə produksiya kodu səmərəli işləmirsə və ya xəbərdarlıqlar görünürsə, bizə issue təqdim edin.)
@@ -44,10 +44,10 @@ Adətən, aşağıdakı dəyişikliklərə böyük versiya artımı *etmirik*:
* **Development xəbərdarlıqlarına.** Bu yeniliklərin produksiya davranışlarına təsir etmədiyindən biz böyük versiyalar arası yeni xəbərdarlıqlar əlavə edə bilər və ya mövcud xəbərdarlıqları dəyişə bilərik. Faktiki olaraq, proqramçıları gələcək pozucu dəyişiklər haqqında məlumatları bu formada çatdırırıq.
* **`unstable_` adı ilə başlayan API-lara.** Bu API-lar eksperimental xüsusiyyətlər üçün işlədilir. Biz, bu xüsusiyyətlərin API-larından tam əmin deyilik. Bu xüsusiyyətləri `unstable_` prefiksi ilə dərc edərək daha tez iterasiya edə bilir və stabil API-a daha tez çata bilirik.
-* **React-in alfa və kanari versiyalarına.** React-in yeni xüsusiyyətlərini tez yoxlaya bilmək üçün React-in alfa versiyasını dərc edirik. Lakin, alfa zamanı öyrəndiklərimiz əsasında dəyişiklər etmək lazımdır. Nəzərə alin ki, bu versiyaları işlətdikdə API-lar dəyişə bilər.
+* **React-in alfa və kanari versiyalarına.** React-in yeni xüsusiyyətlərini tez yoxlaya bilmək üçün React-in alfa versiyasını dərc edirik. Lakin, alfa zamanı öyrəndiklərimiz əsasında dəyişiklər etmə sərbəstliyinə ehtiyacımız var. Nəzərə alin ki, bu versiyaları işlətdikdə API-lar dəyişə bilər.
* **Sənədsiz API-lara və daxili strukturlara.** `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` və ya `__reactInternalInstance$uk43rzhitjg` kimi parametrləri işlətdikdə heç bir qarantiya yoxdur. Bu zaman öz başınasınız.
-Bu qanun, praqmatik olmaq üçün dizayn olunub. Biz, sizin üçün baş ağrıları yaratmaq istəmirik. Göstərilən dəyişikliklər üçün böyük versiya artdıqda daha çox böyük versiya artımlarına və cəmiyyətə daha çox versiya problemləri yaranmasına səbəb ola bilər. Bu, həmçinin bizim React üzərində etdiyimiz proqresimi yavaşladacaq.
+Bu qanun, praqmatik olmaq üçün dizayn olunub. Biz, sizin üçün baş ağrıları yaratmaq istəmirik. Əgər göstərilən dəyişikliklər üçün böyük versiya artırsaq, çoxlu böyük versiya artımlarına və cəmiyyətdə versiya problemlərinin yaranmasına səbəb ola bilərik. Bu, həmçinin bizim React üzərində etdiyimiz irəliləyişləri yavaşlada bilər.
Bu siyahıda olan dəyişiklik cəmiyyətdə böyük problem yaradacaqsa, biz bu dəyişiklik üçün tədrici miqrasiya yolu təmin etməyə çalışacağıq.
@@ -55,11 +55,11 @@ Bu siyahıda olan dəyişiklik cəmiyyətdə böyük problem yaradacaqsa, biz bu
Kiçik buraxılışda yeni xüsusiyyət olmaya bilər. [Semver buna icazə verir](https://semver.org/#spec-item-7). Semver qeyd edir ki, **"bağlı kodda təkmilləşmələr və ya funksionallıqlar təqdim edildikdə [kiçik versiyadan] istifadə etmək olar. Kiçik versiyada yamaq dərəcəli dəyişikliklər də ola bilər."**
-Bu buraxılışların yamaq versiyasında olmaması sualı yaranır.
+Bu buraxılışların niyə yamaq versiyasında olmaması sualı yaranır.
-React-ə (və ya hər hansı bir proqram təminatına) dəyişikliik etdikdə gözlənilməz problemlərin yaranması riksi artır. Yamaq versiyada baq düzəldikdə yeni baqın yaranması ssenarisini fikirləşin. Bu, proqramçılar üçün pozucu olaraq gələcək yamaq versiyalara etibarı azaldacaq. Praktikada nadir hallarda rast gəlinən baqı düzəltdikdə bu ssenari daha acınacaqlı olur.
+React-ə (və ya hər hansı bir proqram təminatına) dəyişiklik etdikdə gözlənilməz problemlərin yaranması riksi artır. Yamaq versiyasında bir baqı düzəldərək istəmədən yeni bir baqı yaratma ssenarisini fikirləşin. Bu, proqramçılar üçün həm pozucu olaraq gələcək, həm də yamaq versiyalara etibarı azaldacaq. Praktikada nadir hallarda rast gəlinən baqı düzəltdikdə bu ssenari daha acınacaqlı olur.
-React buraxılışlarını baqsız dərc edilməsi haqqında bizim yaxşı avtoritetimiz var. Lakin, proqramçılar yamaq buraxılışların problemsiz adaptasiyasını ehtimal etdiklərindən buraxılışların etibarlılıq dərəcəsi daha yüksək olmalıdır.
+React buraxılışlarını baqsız dərc edilməsində kifayət qədər yaxşı təcrübəmiz var. Lakin, proqramçılar yamaq buraxılışların problemsiz adaptasiyasını ehtimal etdiklərinə görə, yamaq buraxılışların etibarlılıq dərəcəsi daha yüksək olmalıdır.
Bu səbəblərdən, biz, yamaq buraxılışlarını yalnız kritiki baqları və təhlükəsizlik zəifliklərini düzəltmək üçün işlədirik.