Code Monkey home page Code Monkey logo

react-native-comic-book-viewer's Introduction

React Native Comic Book Reader

A comic book viewer for React Native that takes in a list of images and displays them in a sequential manner.

Installation

npm i react-native-comic-book-viewer

Usage

import ComicBookViewer from "react-native-comic-book-viewer";
...

<ComicBookViewer
  title={title}
  inputType={inputType}
  pages={pages}
  pubYear={pub_year}
  totalPages={totalPage}
  issueNumber={number}
  onClose={index => console.log(index)}
  imageWidth={720}
  imageHeight={1280}
  onPageChange={index => console.log(index)}
/>
Prop Type Optional Description
title String ✔️ sets the title of the book
inputType String sets the input type of the viewer. Currently only static and uri are supported. (Defaults to uri)
pages List of Static Image Resources or Network Images ✔️ the reference of the TextInput which is to be attached
pubYear String sets the publication year of the issue
totalPages String ✔️ sets the total number of pages in the issue
issueNumber String sets the number of the issue
onClose Function ✔️ sets the function which is called when the cross button is pressed; 1st argument is the index
vertical Boolean sets whether the pages are rendered vertically or horizontally (defaults to false)
inverted Boolean sets whether the direction of the pages are inverted or not (defaults to false)
imageWidth Integer ✔️ sets the width of the image
imageHeight Integer ✔️ sets the height of the image
onPageChange Function sets the function which is called when the page changes; 1st argument is the index
loader Static Resource sets a custom loader

Inherited props

The component is built on top of the FlatList component, meaning it inherits from FlatList, VirtualizedList, and ScrollView.

You can use almost all props from this three components, but some of them can't be overriden because it would mess with our implementation's logic.

Here are a few useful props regarding carousel's style and "feeling": scrollEnabled (if you want to disable user scrolling while still being able to use Carousel's methods), showsHorizontalScrollIndicator, overScrollMode (android), bounces (ios), decelerationRate (ios), scrollEventThrottle (ios).

And here are some useful ones for performance optimizations and rendering: initialNumToRender, maxToRenderPerBatch, windowSize, updateCellsBatchingPeriod, extraData, removeClippedSubviews (the latter may have bugs, as stated in RN's doc). The first three are already implemented with default parameters, but you can override them if they don't suit your needs.

Contributing

All contributions including new features, requests, bug fixes are open to everyone. Feel free to open a PR!

License

React Native Comic Book Reader is MIT licensed.

react-native-comic-book-viewer's People

Contributors

khat33b avatar joseandreceron avatar dependabot[bot] avatar razorvlades avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.