Render HTML tags as React Native components.
- Supports custom renderers for tags
 - Supports inline styles in HTML
 - Supports StyleSheet object with tag and class name based styles
 - Inbuilt renderers for various tags including images, iframes, list items etc.
 
yarn add react-native-jumbo-htmlReact component which takes an HTML string and renders it as React Native components.
html- string containing the HTML to rendermappings- an object with mappings for tags to React componentssheet- an object with a style sheet, they keys can be tag name or class name selectors
Each component in the mappings object will receive the following props:
tagName- name of the tag that's being renderedclassList- an array with the list of class names on the tagattrs- an object with all the attributes of the tagstyle- styles for the componentchildren- children elements for the component
For quick working demo, use Expo app to preview the example: https://expo.io/@usrbowe2/jumbo-html
import * as React from 'react';
import { StyleSheet } from 'react-native';
import { HTMLRenderer } from 'react-native-jumbo-html';
import CustomImage from './CustomImage';
const html = `
  <p>Hello world</p>
`;
const mappings = {
  img: CustomImage
};
export default function App() {
  return (
    <HTMLRenderer
      html={html}
      sheet={styles}
      mappings={mappings}
    />
  );
}
const styles = StyleSheet.create({
  a: {
    color: 'blue'
  },
  '.red': {
    color: 'red'
  }
});The default list of mappings. You can reuse the mappings when adding additional functionality and don't have to re-implement the components.
While developing, you can run the example app to test your changes.
Make sure your code passes Flow and ESLint. Run the following to verify:
yarn run flow
yarn run lintTo fix formatting errors, run the following:
yarn run lint -- --fixRemember to add tests for your change if possible.