Skip to content

Commit 6f451cd

Browse files
strict mode page translation
1 parent 4099efe commit 6f451cd

File tree

1 file changed

+53
-53
lines changed

1 file changed

+53
-53
lines changed

content/docs/strict-mode.md

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,65 @@
11
---
22
id: strict-mode
3-
title: Strict Mode
3+
title: Tryb Rygorystyczny
44
permalink: docs/strict-mode.html
55
---
66

7-
`StrictMode` is a tool for highlighting potential problems in an application. Like `Fragment`, `StrictMode` does not render any visible UI. It activates additional checks and warnings for its descendants.
7+
`StrictMode` jest narzędziem podkreślającym potencjalne problemy w aplikacji. Tak samo jak `Fragment`, `StrictMode` nie renderuje żadnego widocznego UI. Służy natomiast do aktywacji dodatkowych sprawdzeń i ostrzeżeń dla swoich potomków.
88

9-
> Note:
9+
> Uwaga:
1010
>
11-
> Strict mode checks are run in development mode only; _they do not impact the production build_.
11+
> Sprawdzenia dla trybu rygorystycznego są uruchamiane wyłącznie w trybie developmentu; _nie mają one wpływu na build produkcyjny_.
1212
13-
You can enable strict mode for any part of your application. For example:
13+
Możesz uruchomić tryb rygorystyczny dla jakiejkolwiek części swojej aplikacji. Dla przykładu:
1414
`embed:strict-mode/enabling-strict-mode.js`
1515

16-
In the above example, strict mode checks will *not* be run against the `Header` and `Footer` components. However, `ComponentOne` and `ComponentTwo`, as well as all of their descendants, will have the checks.
16+
W powyższym przykładzie, sprawdzenia trybu rygorystycznego *nie* zostaną uruchomione dla komponentów `Header` i `Footer`. Jednakże, sprawdzenia zostaną uruchomione dla `ComponentOne` i `ComponentTwo`, oraz wszystkich ich potomków.
1717

18-
`StrictMode` currently helps with:
19-
* [Identifying components with unsafe lifecycles](#identifying-unsafe-lifecycles)
20-
* [Warning about legacy string ref API usage](#warning-about-legacy-string-ref-api-usage)
21-
* [Warning about deprecated findDOMNode usage](#warning-about-deprecated-finddomnode-usage)
22-
* [Detecting unexpected side effects](#detecting-unexpected-side-effects)
23-
* [Detecting legacy context API](#detecting-legacy-context-api)
18+
`StrictMode` aktualnie pomaga w:
19+
* [Identyfikacji komponentów używających niebezpiecznych metod życia komponentu](#identifying-unsafe-lifecycles)
20+
* [Ostrzeganiu o przestarzałym użyciu łańcucha w API referencji](#warning-about-legacy-string-ref-api-usage)
21+
* [Ostrzeganiu o użyciu przestarzałego findDOMNode](#warning-about-deprecated-finddomnode-usage)
22+
* [Wykrywaniu nieoczekiwanych efektów ubocznych](#detecting-unexpected-side-effects)
23+
* [Wykrywaniu użycia przestrzałego context API](#detecting-legacy-context-api)
2424

25-
Additional functionality will be added with future releases of React.
25+
Dodatkowe funkcjonalności zostaną dodane w przyszłych wydaniach Reacta.
2626

27-
### Identifying unsafe lifecycles {#identifying-unsafe-lifecycles}
27+
### Identyfikacja niebezpiecznych metod życia komponentu {#identifying-unsafe-lifecycles}
2828

29-
As explained [in this blog post](/blog/2018/03/27/update-on-async-rendering.html), certain legacy lifecycle methods are unsafe for use in async React applications. However, if your application uses third party libraries, it can be difficult to ensure that these lifecycles aren't being used. Fortunately, strict mode can help with this!
29+
Tak jak zostało to wytłumaczone [w tym poście](/blog/2018/03/27/update-on-async-rendering.html), niektóre stare metody życia komponentu, nie są bezpiecznie dla asynchronicznych aplikacji Reacta. Jednakże, jeżeli twoja aplikacji używa bibliotek firm trzecich, upewnienie się że nie używa ona niebezpiecznych metod życia komponentu może być trudne. Na szczęście, tryb rygorystyczny może z tym pomóc!
3030

31-
When strict mode is enabled, React compiles a list of all class components using the unsafe lifecycles, and logs a warning message with information about these components, like so:
31+
Gdy tryb rygorystyczny jest włączony, React tworzy listę wszystkich komponentów klasowych, które używają niebezpiecznych metod życia komponentu i loguje komunikaty ostrzegawcze z informacją o tych komponentach, w ten sposób:
3232

3333
![](../images/blog/strict-mode-unsafe-lifecycles-warning.png)
3434

35-
Addressing the issues identified by strict mode _now_ will make it easier for you to take advantage of async rendering in future releases of React.
35+
Rozwiązanie _teraz_ problemów zidentyfikowanych przez tryb rygorystyczny, ułatwi użycie asynchronicznego renderowania w przyszłych wydaniach Reacta.
3636

37-
### Warning about legacy string ref API usage {#warning-about-legacy-string-ref-api-usage}
37+
### Ostrzeganie o przestarzałym użyciu łańcucha w API referencji {#warning-about-legacy-string-ref-api-usage}
3838

39-
Previously, React provided two ways for managing refs: the legacy string ref API and the callback API. Although the string ref API was the more convenient of the two, it had [several downsides](https://github.com/facebook/react/issues/1373) and so our official recommendation was to [use the callback form instead](/docs/refs-and-the-dom.html#legacy-api-string-refs).
39+
Poprzednio, React dawał dwie możliwości do zarządznia referencjami: przestarzałe referencje łańcuchowe i pętle zwrotną. Pomimo że referencja łańcuchowa była z tych dwóch wygodniejsza, miała [kilka wad](https://github.com/facebook/react/issues/1373), dlatego też naszą oficjalną rekomendacją było [używanie formy pętli zwrotnej](/docs/refs-and-the-dom.html#legacy-api-string-refs).
4040

41-
React 16.3 added a third option that offers the convenience of a string ref without any of the downsides:
41+
React 16.3 wprowadził trzecią opcję, która oferuję wygodę jak w przypadku łańcucha referencji, bez żadnych wad:
4242
`embed:16-3-release-blog-post/create-ref-example.js`
4343

44-
Since object refs were largely added as a replacement for string refs, strict mode now warns about usage of string refs.
44+
Odkąd referencje obiektowe zostały główie dodane jako zamiennik za referencje łańcuchowe, tryb rygorystyczny ostrzega w przypadku użyciu referencji łańcuchowych.
4545

46-
> **Note:**
46+
> **Uwaga:**
4747
>
48-
> Callback refs will continue to be supported in addition to the new `createRef` API.
48+
> Referencje w formie pętli zwrotnej nadal będą wspierane wraz z nowym `createRef` API.
4949
>
50-
> You don't need to replace callback refs in your components. They are slightly more flexible, so they will remain as an advanced feature.
50+
> Nie musisz zamieniać referencji pętli zwrotnej w swoich komponentów. Są one nieco bardziej elastyczne, więc pozostaną jako zaawansowana funkcjonalność.
5151
52-
[Learn more about the new `createRef` API here.](/docs/refs-and-the-dom.html)
52+
[Dowiedz się więcej o nowym `createRef` API tutaj.](/docs/refs-and-the-dom.html)
5353

54-
### Warning about deprecated findDOMNode usage {#warning-about-deprecated-finddomnode-usage}
54+
### Ostrzeganie o użyciu przestarzałego findDOMNode {#warning-about-deprecated-finddomnode-usage}
5555

56-
React used to support `findDOMNode` to search the tree for a DOM node given a class instance. Normally you don't need this because you can [attach a ref directly to a DOM node](/docs/refs-and-the-dom.html#creating-refs).
56+
React wspierał `findDOMNode`, w celu wyszukania węzła powiązanego z daną instancją klasy w drzewie DOM. Zazwyczaj nie potrzebujesz tego ponieważ możesz [podczepić referencję bezpośrednio do węzła DOM](/docs/refs-and-the-dom.html#creating-refs).
5757

58-
`findDOMNode` can also be used on class components but this was breaking abstraction levels by allowing a parent to demand that certain children was rendered. It creates a refactoring hazard where you can't change the implementation details of a component because a parent might be reaching into its DOM node. `findDOMNode` only returns the first child, but with the use of Fragments, it is possible for a component to render multiple DOM nodes. `findDOMNode` is a one time read API. It only gave you an answer when you asked for it. If a child component renders a different node, there is no way to handle this change. Therefore `findDOMNode` only worked if components always return a single DOM node that never changes.
58+
`findDOMNode` mógł również być użyty na komponencie klasy, jednak było to złamanie poziomów abstrakcji poprzez pozwolenie rodzicowi aby wymagał wyrenderowania się pewnego dziecka. Tworzyło to ryzyko podczas refactoringu, ponieważ nie można było zmienić implementacji komponentu podczas gdy rodzic mógłby korzystać z jego węzłów DOM. `findDOMNode` zawsze zwraca pierwsze dziecko, ale w przypadku użycia Fragmentów, jest możliwe że komponent wyrenderuje wiele wezłów DOM. `findDOMNode` pozwala na jednorazowy odczyt. To oznacza że zwraca odpowiedź, kiedy o to poprosisz. Jeżeli komponent dziecka renderuje inny węzeł, nie ma możliwości aby obsłużyć tę zmianę. Innymi słowy `findDOMNode` działa wyłącznie gdy komponenty zwracają zawsze pojedynczy węzeł DOM, który nigdy się nie zmienia.
5959

60-
You can instead make this explicit by passing a ref to your custom component and pass that along to the DOM using [ref forwarding](/docs/forwarding-refs.html#forwarding-refs-to-dom-components).
60+
Zamiast tego, możesz jawnie przekazać referencję do komponentu, którą następnie możesz przekazać do DOM przy użyciu [przekierowania referencji](/docs/forwarding-refs.html#forwarding-refs-to-dom-components).
6161

62-
You can also add a wrapper DOM node in your component and attach a ref directly to it.
62+
Możesz również, dodać opakowujący węzeł DOM do swojego komponentu i bezpośrednio do niego dowiązać referencję.
6363

6464
```javascript{4,7}
6565
class MyComponent extends React.Component {
@@ -73,52 +73,52 @@ class MyComponent extends React.Component {
7373
}
7474
```
7575

76-
> Note:
76+
> Uwaga:
7777
>
78-
> In CSS, the [`display: contents`](https://developer.mozilla.org/en-US/docs/Web/CSS/display#display_contents) attribute can be used if you don't want the node to be part of the layout.
78+
> W CSS, atrybut [`display: contents`](https://developer.mozilla.org/en-US/docs/Web/CSS/display#display_contents) może zostać użyty jeżeli nie chcesz aby węzeł nie był częścią szablonu.
7979
80-
### Detecting unexpected side effects {#detecting-unexpected-side-effects}
80+
### Wykrywanie nieoczekiwanych efektów ubocznych {#detecting-unexpected-side-effects}
8181

82-
Conceptually, React does work in two phases:
83-
* The **render** phase determines what changes need to be made to e.g. the DOM. During this phase, React calls `render` and then compares the result to the previous render.
84-
* The **commit** phase is when React applies any changes. (In the case of React DOM, this is when React inserts, updates, and removes DOM nodes.) React also calls lifecycles like `componentDidMount` and `componentDidUpdate` during this phase.
82+
Zasadniczo, React działa w dwóch fazach:
83+
* Faza **renderowania** określa jakie zmiany mają zostać zrobione w np. DOM. Podczas tej fazy, React wywołuje `render` i porównuje jego wynik z poprzednim wywołaniem `render`.
84+
* Faza **aktualizacji** jest gdy React aplikuje zmiany. (W przypadku React DOM, następuje to gdy React dodaje, aktualizuje i usuwa węzły DOM.) Podczas tej fazy, React wywołuje również metody życia komponentu tj. `componentDidMount` czy `componentDidUpdate`.
8585

86-
The commit phase is usually very fast, but rendering can be slow. For this reason, the upcoming async mode (which is not enabled by default yet) breaks the rendering work into pieces, pausing and resuming the work to avoid blocking the browser. This means that React may invoke render phase lifecycles more than once before committing, or it may invoke them without committing at all (because of an error or a higher priority interruption).
86+
Faza aktualizacji jest zazwyczaj bardzo szybka, jednak renderowanie może być powolne. Z tego powodu, nadchodzący tryb asynchroniczny(który nie jest jeszcze domyślnie włączony), rozbija pracę związaną z renderowaniem na części, zatrzymując i wznawiając pracę, aby uniknąć blokowania przeglądarki. To oznacza że React, może wywołąć metody cyklu życia fazy renderowania więc niż raz przed aktualizacją lub może je wywołać nawet bez aktualizacji (z powodu błędu lub przerwania o większym priorytecie).
8787

88-
Render phase lifecycles include the following class component methods:
88+
Cykl życia fazy renderowania odnosi się do poniższych metod z komponentu klasowego:
8989
* `constructor`
9090
* `componentWillMount`
9191
* `componentWillReceiveProps`
9292
* `componentWillUpdate`
9393
* `getDerivedStateFromProps`
9494
* `shouldComponentUpdate`
9595
* `render`
96-
* `setState` updater functions (the first argument)
96+
* `setState` funkcje aktualizaujące (pierwszy argument)
9797

98-
Because the above methods might be called more than once, it's important that they do not contain side-effects. Ignoring this rule can lead to a variety of problems, including memory leaks and invalid application state. Unfortunately, it can be difficult to detect these problems as they can often be [non-deterministic](https://en.wikipedia.org/wiki/Deterministic_algorithm).
98+
Ponieważ powyższe metody mogą być wywołane więcej niż raz, ważne jest aby nie zawierały efektów ubocznych (ang *side-effects*). Zignorowanie tej zasady może prowadzić do różnych problemów, włączając w to wycieki pamięci i niepoprawny stan aplikacji. Niestety, może być ciężko wykryć problemy tego typu ponieważ są one często [niedeterministyczne](https://pl.wikipedia.org/wiki/Algorytm_deterministyczny).
9999

100-
Strict mode can't automatically detect side effects for you, but it can help you spot them by making them a little more deterministic. This is done by intentionally double-invoking the following methods:
100+
Tryb rygorystyczny nie może automatycznie wykrywać efektów ubocznych ale może pomóc w ich zauważeniu, poprzez zrobienie ich trochę bardziej deterministycznymi. Jest to wykonane poprzez celowe podwójne wywołanie poniższych metod:
101101

102-
* Class component `constructor` method
103-
* The `render` method
104-
* `setState` updater functions (the first argument)
105-
* The static `getDerivedStateFromProps` lifecycle
102+
* Metoda `constructor` komponentu klasowego
103+
* Metoda `render`
104+
* `setState` funkcje aktualizujące (pierwszy argument)
105+
* Statyczna metoda cyklu życia `getDerivedStateFromProps`
106106

107-
> Note:
107+
> Uwaga:
108108
>
109-
> This only applies to development mode. _Lifecycles will not be double-invoked in production mode._
109+
> Ma to zastosowanie tylko w trybie developmentu. _Metody życia komponentu nie będą podwójnie wywoływane w trybie produkcyjnym._
110110
111-
For example, consider the following code:
111+
Dla przykładu, rozważ poniższy kod:
112112
`embed:strict-mode/side-effects-in-constructor.js`
113113

114-
At first glance, this code might not seem problematic. But if `SharedApplicationState.recordEvent` is not [idempotent](https://en.wikipedia.org/wiki/Idempotence#Computer_science_meaning), then instantiating this component multiple times could lead to invalid application state. This sort of subtle bug might not manifest during development, or it might do so inconsistently and so be overlooked.
114+
Na pierwszy rzut oka, kod nie wydaje się problematyczny. Ale jeżeli `SharedApplicationState.recordEvent` nie jest [idempotentna](https://pl.wikipedia.org/wiki/Idempotentno%C5%9B%C4%87#Informatyka), to stworzenie wielu instancji tego komponentu może prowadzić do niepoprawnego stanu aplikacji. Ten subtelny błąd może się nie ukazać podczas developmentu lub może występować sporadycznie i zostać przeoczony.
115115

116-
By intentionally double-invoking methods like the component constructor, strict mode makes patterns like this easier to spot.
116+
Przez celowe podwójne wywołanie metod tj. konstruktor komponentu, tryb rygorystyczny powoduje że wzorce tego typu są łatwiejsze do zauważenia.
117117

118-
### Detecting legacy context API {#detecting-legacy-context-api}
118+
### Wykrywanie przestarzałego kontekst API {#detecting-legacy-context-api}
119119

120-
The legacy context API is error-prone, and will be removed in a future major version. It still works for all 16.x releases but will show this warning message in strict mode:
120+
Przestarzałe API kontekstowe jest podatne na błędy i może zostać usunięte w przyszłych wersjach. Nadal będzie działać dla wszystkich wydań 16.x ale będzie wyświetlać poniższy komunikat ostrzegawczy w trybie rygorystycznym:
121121

122122
![](../images/blog/warn-legacy-context-in-strict-mode.png)
123123

124-
Read the [new context API documentation](/docs/context.html) to help migrate to the new version.
124+
Przeczytaj [dokumentację nowego API kontekstu](/docs/context.html) w celu pomocy w migracji do nowej wersji.

0 commit comments

Comments
 (0)