react-native-google-books
v1.0.4
Published
A React Native component for browsing google books
Downloads
8
Maintainers
Readme
react-native-google-books
A React Native component for browsing google books
Compatibility
This react native component is purely written in Javascript and it works in both iOS and Android platforms.
Demo
Prerequisites
Get the API key from Google Developer Console. https://console.developers.google.com
Generate the API key and enable the Google Books API
Usage
import {GoogleBookSearch} from 'react-native-google-books';
Basic usage of GoogleBookSearch
<GoogleBookSearch
apikey={"API KEY FROM DEVELOPER CONSOLE"}
onResultPress={(book)=> console.log(book)}
/>
onResultPress will give you the pressed book details.
{
id:'id of book',
title:'name of the book',
authors:['array of authors'],
isbn:['isbn types'],
raw:{}
}
You can use this as an API also,
import {BookSearch} from 'react-native-google-books';
async getGameofThronesBooks(){
let books = await BookSearch.searchbook("game of thrones","API_KEY");
}
//Response of this request
{
status:true,
code:200,
data:[{}]
}
Props Available
| Property | Type | Default | Required | Description | |---------------|----------------|------------|----------|---------------| | apikey | string | null | YES | API Key from Google Developer Console. But the search works without API key also for a limited quota| | onResultPress | | | | Get the pressed result as callback| | searchResult | | | | Get the raw search result as callback| | placeholder | string | Search |NO| Placeholder text for search box| | value | string | | NO |Only if you want to preload any value in search | | searchContainerStyle | object | | NO| Pass the style for the search box (container)| | searchInputStyle | object | | NO| Pass the style for the TextInput | | resultContainerStyle | object | | NO| Pass the style for the search result row container | | resultItemStyle | object | | NO| Pass the style for the search result text | | interval | number | 800 | NO| This is a typing timer. When you stop typing for 800 ms, it will fetch the results | | limit | number | 10 | NO| Limit the number of search results |
All Props Usage
<GoogleBookSearch
apikey={"API KEY"}
value={"harry potter"}
searchContainerStyle={{marginTop:32}}
searchInputStyle={{fontSize:16}}
resultContainerStyle={{padding:4}}
resultItemStyle={{color:'blue'}}
interval={300}
searchResult={(result) => console.log(result)}
onResultPress={(book)=> console.log(book)}
/>