首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ISBN从Google Books API获取书名

使用ISBN从Google Books API获取书名
EN

Stack Overflow用户
提问于 2018-07-11 05:29:54
回答 0查看 1.9K关注 0票数 0

我是Javascript和React-Native的新手,我正在构建一个非常简单的应用程序,它可以扫描图书的条形码,然后将其与图书的标题进行匹配。

我想我已经设法获得了ISBN编号,并且正在尝试从google-books API获取图书标题,但我一直收到错误消息"undefined is not a object(evaluating‘_this.state.results.items.title)(未定义不是对象(计算’_this.state.results.items.title)‘“)。有人能帮我找出哪里出了问题吗?我可以采取什么步骤来修复它?谢谢!如果有一大堆错误或者我的代码很糟糕,我很抱歉。我真的是个新手,非常感谢你的帮助!

代码语言:javascript
复制
import React from 'react';
import { Dimensions, StyleSheet, Text, View } from 'react-native';
import { BarCodeScanner } from 'expo';

const { width } = Dimensions.get('window');

export default class App extends React.Component {

  constructor(props) {
    super(props);

    this.state= {
      results: {
        kind: '',
        totalItems: 0,
        items: []
      }
    }
    this.fetchData = this.fetchData.bind(this);
  }


  fetchData(isbn) {
    fetch(`https://www.googleapis.com/books/v1/volumes? 
   q=isbn:${encodeURIComponent(isbn)}`)
    .then((response)=> response.json())
    .then((responseData)=> {
      this.setState({results: responseData})
    });

  }

  _handleBarCodeRead = ({ type, data }) => {
    var isbn = data;
    this.fetchData(isbn)
    var title = this.state.results.items[0].volumeInfo.title;
    alert(`ISBN: ${isbn}, Title: ${title}`)
  }

  render() {
    return (
      <BarCodeScanner
        onBarCodeRead={this._handleBarCodeRead}
        style={[StyleSheet.absoluteFill, styles.container]}
      >
        <View style={styles.layerTop} />
        <View style={styles.layerCenter}>
          <View style={styles.layerLeft} />
          <View style={styles.focused} />
          <View style={styles.layerRight} />
        </View>
        <View style={styles.layerBottom} />
      </BarCodeScanner>
    );
  }
}

编辑:所以,我在url中遗漏了"isbn:“,这导致我得到了错误的书名。我修复了这个问题,现在在警报中,我得到了与ISBN匹配的正确书名。然而,即使我得到了警报,仍然有相同的未定义的不是一个对象(评估'_this.state.results.items.title)

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51274161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档