javascript - Shopify-Buy-SDK 获取原始产品数据

标签 javascript reactjs shopify react-redux

我希望使用 ES6、react、react-redux 和您的 js-buy-sdk api 构建一个电子商务 Web 应用程序。我的问题是,从shopify获取所有产品并将它们放入商店后,我似乎没有像我预期的那样拥有有关产品的所有数据,而只有: { attrs, shopClient, serializer, type, config, _memoized }.

以下是我在名为 shopify.js 的文件下调用获取产品的方法:

import ShopifyBuy from 'shopify-buy';

const shopClient = ShopifyBuy.buildClient({
  apiKey: 'xxxxxxxxxxxxxxxxxxxx1403c107adc7e',
  domain: 'xxxxxxxxxxxxxxxx.myshopify.com',
  appId: '6',
});

export function fetchAllProducts() {
  return new Promise((resolve, reject) => {
    shopClient.fetchAllProducts()
      .then((data) => {
        console.log('shopClient.fetchAllProducts', data);
        resolve(data);
      }).catch((error) => {
        console.error(new Error('Fetching products error!'));
        reject(error);
      });
  });
}

查看 console.log shopClient.fetchAllProducts 这是我得到的: chrome console

我将data放入redux存储中,当我查看它时,它看起来像这样: redux store

如果相关,请检查this gist查看我正在调度的操作和 this gist我的行为被减少并被放置在商店中。

根据我的理解,当您执行 fetchAllProducts() 方法时,您会得到一个 ProductModel 数组,因此,我想在我的商店中设置了以下 { attrs, shopClient, serializer, type, config, _memoized } 因为这是 ProductModel 内部存储的内容。

我的问题是,有没有办法从 ProductModel 获取原始数据对象(包含第一个屏幕截图中显示的所有相关产品值以及来自模型的数据,例如 ProductModel 所依赖的 ProductOptionModel),这样我就可以出于稳定性和理智的原因放置我的商店?

Shopify API 引用可以找到 here .

最佳答案

如果您正在寻求对产品返回的数据的原始访问,attrs 属性包含 API 响应 JSON,无需其他逻辑或模型。

但是,如果可能的话,我建议您以可以利用这些模型的方式组织您的代码 - 我们添加它们是因为原始数据可能采用特别令人困惑的格式(特别是变体、选项、图像)。

也就是说,如果您想要返回所有产品的原始数据,类似这样的事情应该可以解决问题。

import ShopifyBuy from 'shopify-buy';

const shopClient = ShopifyBuy.buildClient({
  apiKey: 'xxxxxxxxxxxxxxxxxxxx1403c107adc7e',
  domain: 'xxxxxxxxxxxxxxxx.myshopify.com',
  appId: '6',
});

export function fetchAllProducts() {
  return new Promise((resolve, reject) => {
    shopClient.fetchAllProducts()
      .then((products) => {
        resolve(products.map((product) => {
          return product.attrs;
        }));
      }).catch((error) => {
        console.error(new Error('Fetching products error!'));
        reject(error);
      });
  });
}

关于javascript - Shopify-Buy-SDK 获取原始产品数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41780204/

相关文章:

php - 指定 ID 时,Shopify Orders API 将我重定向到登录

reactjs - 如何使用 Enzyme 测试 React-Responsive 组件?

reactjs - 我的 npm start for React 教程项目无法正常工作

javascript - 随着图像变大,增加父 div 的大小

激活设计模式时,C# WebBrowser 控件中的 Javascript 不执行

reactjs - Webpack 4,babel 7,react, typescript : Unexpected token,预期的 ","

HTML/CSS - [shopify (brooklyn theme)] 我可以在 HTML 中更改尺寸/颜色,但想在 CSS 中进行

javascript - Shopify API : Get url that leads directly to checkout

javascript - 在我自己的页面中通过 javascript 打开网站

javascript - 有没有办法在父容器上编写事件监听器以捕获其所有输入元素上的焦点/模糊事件?