Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
4 / 4 / 0
Регистрация: 11.09.2017
Сообщений: 100

Вывод данных полученных в axios

03.10.2020, 21:04. Показов 5623. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Я изучаю reaсt и решил сделать попробовать получить данные с сервера. Я написал такой код:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
export default class PersonList extends React.Component {
    state = {
        post: []
    }
 
    componentDidMount() {
        axios.get(url)
            .then(res => {
                const persons = res.data;
                this.setState({ post:persons.data.client});
                console.log(persons)
            })
    }
 
    render() {
 
        return (
            <div>
                {
                    <div >{post.data.client}</div>
                }
            </div>
        )
    }
Он выводит данные в консоль, а на страницу нет. Как мне вывести данные на страницу????
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.10.2020, 21:04
Ответы с готовыми решениями:

$http.get запрос и вывод полученных данных в директиву
Добрый день, Вопрос кажется не сложный, но разобраться на могу. делаю get запрос на php файл, в котором у меня выдается json ответ. ...

Отправка данных из формы и вывод полученных данных
помогите с скриптом на jquery, который бы выполнял вот эту задачу: при нажатии на кнопку, отправить данные из html формы методом post...

Вывод данных полученных из api
Здравствуйте, пробую работать с API, но ни как не получается получить данные с ресурса. Подскажите пожалуйста в чем тут проблема? ...

3
Эксперт JS
 Аватар для Iverycool
1586 / 796 / 362
Регистрация: 01.02.2019
Сообщений: 1,047
03.10.2020, 22:12
Лучший ответ Сообщение было отмечено dimazavt как решение

Решение

dimazavt, ваша ошибка в том, что вы неправильно понимаете устройство "ссылок" на объекты в js.
Во-первых вы зачем-то, дублируете .data.client и в this.setState и в render'е.
Во-вторых, в render'е вы обращаетесь к post.data.client, однако, откуда у вас взялось post - не понятно(по крайней мере для интерпретатора).
Если я правильно понял ваш код, то вот правильный вариант:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
export default class PersonList extends React.Component {
  state = {
    post: []
  };
 
  componentDidMount() {
    axios.get(url)
      .then(res => {
        const persons = res.data;
        this.setState({ post: persons });
        console.log(persons)
      });
  }
 
  render() {
    // if (!this.state.post) return;
    return (
      <div><div>{this.state.post.data.client}</div></div>
    )
  }
}
1
4 / 4 / 0
Регистрация: 11.09.2017
Сообщений: 100
04.10.2020, 11:35  [ТС]
Iverycool, по вашему решению я сделал, но у меня также выводит в консоль, но на экране пусто. Если я в json делаю
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
{
         {
            "id": 5,
            "username": "Krimzin96",
            "avatar": "/media/1",
            "first_name": "",
            "last_name": "",
            "patronymic": "",
            "status": "Активен",
            "date_joined": "2020-09-27T18:21:56.063023+03:00",
            "last_login": null
        }
    }
,
то у меня всё выводит, но если добавить в json
JSON
1
client
, то всё ломается.
Сейчас у меня такой код(точнее он ваш):
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import React from 'react';
 
import axios from 'axios';
const url=`https://api.mocki.io/v1/67013fd9`
 
export default class PersonList extends React.Component {
    state = {
        post: []
    };
 
    componentDidMount() {
        axios.get(url)
            .then(res => {
                const persons = res.data;
                this.setState({ post: persons });
                console.log(persons)
            });
    }
 
    render() {
        // if (!this.state.post) return;
        return (
            <div><div>{this.state.post.data}</div></div>
        )
    }
}
и он нечего не выводит, можете подсказать как вывести данные из json. И как вывести данные если добавится ещё 1 уровень
JSON
1
data
Добавлено через 31 минуту
У меня получилось вот так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import React from 'react';
 
import axios from 'axios';
const url=`https://api.mocki.io/v1/67013fd9`
 
export default class PersonList extends React.Component {
    state = {
        post: []
    };
 
    componentDidMount() {
        axios.get(url)
            .then(res => {
                const persons = res.data;
                this.setState({ post: persons.client.username });
                console.log(persons)
            });
    }
 
    render() {
        // if (!this.state.post) return;
        return (
            <div><div>{this.state.post}</div></div>
        )
    }
}
 
 
 
 
 
/*
constructor(props) {
    super(props)
    this.state={
        posts:[]
    }
}
    componentDidMount(props) {
        axios.get(url)
            .then(response=>{
                this.setState({posts:response.data})
                console.log(response)
 })}
 
 
 
    render() {
const {posts} = this.state
        return (
           <div>
                {posts.length?
                    posts.map(post=><div key={post.id}>{post.username} </div>):null
 
                }
 
            </div>
        )
    }*/
так можно или нет?
0
Эксперт JS
 Аватар для Iverycool
1586 / 796 / 362
Регистрация: 01.02.2019
Сообщений: 1,047
04.10.2020, 15:19
Цитата Сообщение от dimazavt Посмотреть сообщение
так можно или нет?
Конечно, можно Правда, по идее ничего изменится не должно было...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2020, 15:19
Помогаю со студенческими работами здесь

Вывод данных, полученных из БД, не работает.
Здравствуйте не знаю как изложить свою проблему, нужно вывести в цыкле из БД, а не получается...И ошибку не выдает и результата нет ...

Вывод данных, полученных с БД в таблице html
В базу отправляется простой запрос (select): // запрос на вывод всех данных $sql = &quot;SELECT `id_воды_в_бутылке`, `название`,...

Вывод всех данных полученных через POST
Добрый вечер! Нужно вывести все данные полученные через POST запрос, но при этом нам не известно количество этих данных. После, нам...

Вывод данных на странице проекта, полученных по API
Вопрос новичка. Есть API ссылка Я хотел бы на странице своего проекта вывести данные, полученные из этого API. Каким образом...

QTableView, вывод данных полученных по запросу к api
Выполняю запрос к api яндекс директа и получаю такой ответ: http://************/hjciqq Нужно вывести данные из запроса в таблицу в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru