-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Translate AJAX and APIs #25
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,24 @@ | ||
--- | ||
id: faq-ajax | ||
title: AJAX and APIs | ||
title: AJAX и API | ||
permalink: docs/faq-ajax.html | ||
layout: docs | ||
category: FAQ | ||
--- | ||
|
||
### How can I make an AJAX call? {#how-can-i-make-an-ajax-call} | ||
### Как выполнить AJAX-запрос? {#how-can-i-make-an-ajax-call} | ||
|
||
You can use any AJAX library you like with React. Some popular ones are [Axios](https://github.com/axios/axios), [jQuery AJAX](https://api.jquery.com/jQuery.ajax/), and the browser built-in [window.fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). | ||
Вы можете использовать любую AJAX-библиотеку, которую вам хочется использовать в React-приложении. Некоторые популярные AJAX-библиотеки — [Axios](https://github.com/axios/axios), [jQuery AJAX](https://api.jquery.com/jQuery.ajax/) и встроенный в браузер [window.fetch](https://developer.mozilla.org/ru/docs/Web/API/Fetch_API). | ||
|
||
### Where in the component lifecycle should I make an AJAX call? {#where-in-the-component-lifecycle-should-i-make-an-ajax-call} | ||
### Где в жизненном цикле компонента нужно сделать AJAX-запрос? {#where-in-the-component-lifecycle-should-i-make-an-ajax-call} | ||
|
||
You should populate data with AJAX calls in the [`componentDidMount`](/docs/react-component.html#mounting) lifecycle method. This is so you can use `setState` to update your component when the data is retrieved. | ||
Вам стоит сохранять данные из вызовов AJAX в методе жизненного цикла [`componentDidMount`](/docs/react-component.html#mounting). Данный метод позволит использовать `setState` для обновления компонента, когда будут получены результаты запроса. | ||
|
||
### Example: Using AJAX results to set local state {#example-using-ajax-results-to-set-local-state} | ||
### Пример: Использование AJAX-результатов для установки локального состояния {#example-using-ajax-results-to-set-local-state} | ||
|
||
The component below demonstrates how to make an AJAX call in `componentDidMount` to populate local component state. | ||
Компонент ниже показывает, как сделать AJAX-запрос в методе `componentDidMount`, чтобы наполнить локальное состояние компонента. | ||
|
||
The example API returns a JSON object like this: | ||
Пример нашего API возвращает следующий JSON-объект: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Пример API" звучит странно. Может
(Оригинал тоже немножко странный но по-английски это понятнее было) |
||
|
||
``` | ||
{ | ||
|
@@ -50,9 +50,10 @@ class MyComponent extends React.Component { | |
items: result.items | ||
}); | ||
}, | ||
// Note: it's important to handle errors here | ||
// instead of a catch() block so that we don't swallow | ||
// exceptions from actual bugs in components. | ||
// Примечание: важно обрабатывать ошибки в этом колбэке, | ||
// а не использовать блок catch() для этого, чтобы не | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "для этого" можно убрать |
||
// перехватывать исключения из-за существующих багов | ||
// в компонентах. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "существующих багов" -> может "настоящих багов"? Вопрос не столько про то, были они уже или не были. |
||
(error) => { | ||
this.setState({ | ||
isLoaded: true, | ||
|
@@ -65,9 +66,9 @@ class MyComponent extends React.Component { | |
render() { | ||
const { error, isLoaded, items } = this.state; | ||
if (error) { | ||
return <div>Error: {error.message}</div>; | ||
return <div>Ошибка: {error.message}</div>; | ||
} else if (!isLoaded) { | ||
return <div>Loading...</div>; | ||
return <div>Загрузка...</div>; | ||
} else { | ||
return ( | ||
<ul> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#27