React возвращает несколько переменных из json

В настоящее время я пытаюсь реорганизовать проект React, над которым работаю. Файл становится довольно громоздким, поэтому я хотел разбить его на разные файлы. Мой исходный файл app.js содержит это состояние:

this.state = {
  selectProduct: [],
  quantityProduct: [],
  colorsProduct: [],
  stockProduct: [],
  turnaroundProduct: [],
  coatingProduct: [],
  attributeProduct: [],
  attributeMetaProduct: [],
}

Затем я запускаю функцию для выполнения запроса на выборку и обновляю состояние следующим образом:

pullProductDetails = () => {
  fetch('http://127.0.0.1:8000/product_details/fetch/36')
  .then(response => response.json())
  .then(json => {
    const quantityDetails = json.productQuanties.map((quantityDetail) => {
        quantityDetail.selected = false;
    });
    const colorDetails = json.productColor.map((colorDetail) => {
        colorDetail.selected = false;
    });
    const stockDetails = json.productPaperStock.map((stockDetail) => {
        stockDetail.selected = false;
    });
    const turnaroundDetails = json.productTurnaround.map((turnaroundDetail) => {
        turnaroundDetail.selected = false;
    });

    if (json.productCoating.length > 0) {
      const coatingDetails = json.productCoating.map((coatingDetail) => {
          coatingDetail.selected = false;
      }) }
    if (json.productAttributeMeta.length > 0) {
      const attributeMetaDetails = json.productAttributeMeta.map((attributeMetaDetail) => {
          attributeMetaDetail.selected = false;
      }) }

    this.setState(
      {
        quantityProduct: [...this.state.quantityProduct, ...json.productQuanties],
        colorsProduct: [...this.state.colorsProduct, ...json.productColor],
        stockProduct: [...this.state.stockProduct, ...json.productPaperStock],
        turnaroundProduct: [...this.state.turnaroundProduct, ...json.productTurnaround],
        coatingProduct: [...this.state.turnaroundProduct, ...json.productCoating],
        attributeProduct: [...this.state.attributeProduct, ...json.productAttribute],
        attributeMetaProduct: [...this.state.attributeMetaProduct, ...json.productAttributeMeta],
      },
      () => {console.info(this.state)}
    );
      });
}

Чтобы уменьшить размер моего файла app.js, я создал новый файл для приведенного выше кода, например:

// здесь мы получаем api, чтобы получить подробную информацию о каждом выпадающем списке продуктов

export const pullProductDetails = () => {
  fetch('http://127.0.0.1:8000/product_details/fetch/36')
  .then(response => response.json())
  .then(json => {
    const quantityDetails = json.productQuanties.map((quantityDetail) => {
        quantityDetail.selected = false;
    });
    const colorDetails = json.productColor.map((colorDetail) => {
        colorDetail.selected = false;
    });
    const stockDetails = json.productPaperStock.map((stockDetail) => {
        stockDetail.selected = false;
    });
    const turnaroundDetails = json.productTurnaround.map((turnaroundDetail) => {
        turnaroundDetail.selected = false;
    });

    if (json.productCoating.length > 0) {
      const coatingDetails = json.productCoating.map((coatingDetail) => {
          coatingDetail.selected = false;
      }) }
    if (json.productAttributeMeta.length > 0) {
      const attributeMetaDetails = json.productAttributeMeta.map((attributeMetaDetail) => {
          attributeMetaDetail.selected = false;
      }) }

      return [quantityDetails, colorDetails, stockDetails, turnaroundDetails, coatingDetails, attributeMetaDetails];

      });
}

В приведенном выше коде я пытаюсь вернуть каждую из этих переменных с данными json, чтобы я мог использовать их для установки состояния, но в моей консоли говорится, что переменная не существует. Я также попытался запустить консоль из файла js, и там написано undefined:

console.info(quantityDetails);

Я ожидал, что у меня будет доступ к переменным, поскольку я возвращаю их, но не могу этого сделать. Может ли кто-нибудь сообщить мне, что я делаю не так?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
102
1

Ответы 1

const quantityDetails = json.productQuanties.map((quantityDetail) => {

Количество => Может быть, количество?

Если бы это не опечатка, я бы не знал почему.

Другие вопросы по теме