#javascript #django #reactjs #django-rest-framework
#javascript #django #reactjs #django-rest-framework
Вопрос:
Привет, ребята, я новичок в reactjs и я пытаюсь получить объект response data, чтобы он мог отображаться в веб-приложении для просмотра пользователями, вместо того, чтобы они проверяли страницу и переходили в сеть / консоль, чтобы увидеть ответ об ошибке загрузки файла name = ‘title’, поэтому я решил использовать приведенную ниже функцию, чтобы иметь возможность выдавать мне ответ данных, и я продолжаю получать эту ошибку ‘renderItems не определен’ нет-undef Вот пример кода:
import React from "react";
import PropTypes from "prop-types";
import axios from 'axios'
import { Card,} from "shards-react";
class Uploaddatastore extends React.Component {
constructor(props) {
super(props);
this.state = {
UploadNotification: []
}
}
componentDidMount(){
let notificationComponent = this;
axios.get("http://127.0.0:8000/uploads/file_upload/")
.then(function (response) {
console.log(response);
console.log(response.data);
notificationComponent.setState({
UploadNotification: response.data.items
});
})
.catch(function (error) {
console.log(error);
});
}
render() {
if (this.state.UploadNotification.length) {
let renderItems = this.state.UploadNotification.map(function(item, i) {
return <li key={i}>{item.title}</li>
});
}
return (
<div>
<span className="text-danger"> {renderItems} </span>
</div>
);
}
};
export default Uploaddatastore;
Комментарии:
1.
let
ограничен ли объем блока. Переместите этот оператор за пределыif
. (На самом деле вам, похоже, вообще неif
нужен.)2. Привет, также был бы признателен, если бы вы могли помочь создать функциональность, позволяющую представлять ответ консоли на странице для пользователя, возможно ли это?
Ответ №1:
Вы неправильно определили renderItems
переменную. Это было ограничено if
блоком. Объявите его перед if
вместо:
render() {
let renderItems;
if (this.state.UploadNotification.length) {
renderItems = this.state.UploadNotification.map(function(item, i) {
return <li key={i}>{item.title}</li>
});
}
return (
<div>
<span className="text-danger"> {renderItems} </span>
</div>
);
}
};
Комментарии:
1. Кристиан Фриц, спасибо, это сработало, хотя я хотел бы, если бы вы могли помочь мне извлечь объект из сети / консоли и представить его на странице WEBAPP для пользователя, возможно ли это?