#javascript #arrays #json #reactjs
#javascript #массивы #json #reactjs
Вопрос:
У меня есть файл JSON (с именем journey0.json), в котором я храню данные, как показано ниже.
{
"title": "journy title",
"date": "2020",
"homepageImage": "/images/journey1/TravelCardImage",
"introStory": "text",
"introMap": "",
"destinations": [
{
"destinationTitle": "Berlijn",
"destinationStory": "destination story",
"destinationPreviewImage": "/images/journey1/prague.jpg",
"destinationImages": [
{
"original": "/images/journey1/HomeHeader.jpg",
"thumbnail": "/images/journey1/HomeHeader.jpg"
},
{
"original": "/images/journey1/HomeHeader.jpg",
"thumbnail": "/images/journey1/HomeHeader.jpg"
},
{
"original": "/images/journey1/HomeHeader.jpg",
"thumbnail": "/images/journey1/HomeHeader.jpg"
},
]
}
]
}
Затем я создаю массив всех похожих файлов JSON в другом файле (который .jsx), как показано ниже:
import * as journey0 from './journey0.json'
export const allJourneysArray = [
journey0
]
export default allJourneysArray;
Я пытаюсь получить доступ к данным, как показано ниже, но по какой-то причине значения остаются неопределенными. Что я делаю не так?
import JourneyCard from '../journeyCard/JourneyCard';
import allJourneysArray from '../../../journeys/allJourneys';
class HomePageBody extends Component {
render() {
let journeyCards = [];
for (var x in allJourneysArray) {
journeyCards.push(
<Link style={this.styles.link} to={'/' x}>
<JourneyCard
title={allJourneysArray[x].title}
date={allJourneysArray[x].date}
homepageImage={allJourneysArray[x].homepageImage}/>
</Link>
)
}
return(
<div style={this.styles.container}>
<div style={this.styles.cardContainer}>
{journeyCards}
</div>
</div>
);
}
Ответ №1:
Попробуйте: import journey0 from './journey0.json'
Комментарии:
1. Для этого мне потребуется импортировать каждый новый файл journey (journey1.json, journey2.json и т.д.) Во все места, где я хочу использовать данные. Есть ли лучший подход?