A component for rendering Markdown in React Native. Works well with [email protected]
- Due to a bug in underlying layout engine for React Native (facebook/css-layout), this module will put your application in an infinite loop unless you patch the upstream changes from
css-layout
's'Layout.c
andLayout.h
files.
npm install react-native-markdown --save
All you need is to require
the react-native-markdown
module and then use the
<Markdown/>
tag.
import React from 'react';
import { AppRegistry, StyleSheet, View } from 'react-native'
import Markdown from 'react-native-markdown';
class mdApp extends React.Component {
render() {
return (
<View>
<Markdown >
# This is Heading 1
## This is Heading 2
1. List1 {'\n'}
2. List2 {'\n'}
{'\t'}1. sublist1{'\n'}
{'\t'}description sublist1.{'\n'}
{'\t'}2. sublist2{'\t\t'}{'\n'}
* List3{'\n'}
* List4{'\n'}
{'\t'}1. **bold text** {'\n'}
{'\t'}2. this line contain * and should not be a new sublist{'\t\t'}{'\n'}
5. Last list{'\n\n'}
Some *really* basic **Markdown**.
{'\n\n'}
| # | Name | Age |{'\n'}
|---|--------|-----|{'\n'}
| 1 | John | 19 |{'\n'}
| 2 | Sally | 18 |{'\n'}
| 3 | Stream | 20 |{'\n'}
</Markdown >
</View>
);
}
}
AppRegistry.registerComponent('mdApp', () => mdApp);
Default style properties will be applied to the markdown. You will likely want to customize these styles, the following properties can be used to modify the rendered elements:
Note: The text inside the parentheses denotes the element type.
autolink
(<Text>
) - WIPblockQuote
(<Text>
) - WIPbr
(<Text>
)codeBlock
(<View>
) - WIPdel
(<Text>
)em
(<Text>
)heading
(<Text>
) - Alsoheading1
throughheading6
hr
(<View>
)image
(<Image>
) - Implemented but size is fixed to50x50
until auto width is supported by React Native.inlineCode
(<Text>
)link
(<Text>
) - WIPlist
(<View>
) - AlsolistItem
(<View>
),listItemBullet
(<Text>
) andlistItemNumber
(<Text>
)mailto
(<Text>
) - WIPnewline
(<Text>
) - WIPparagraph
(<View>
)plainText
(<Text>
) - Use for styling text without any associated stylesstrong
(<Text>
)table
(<View>
)tableHeader
(<View>
)tableHeaderCell
(<Text>
)tableRow
(<View>
)tableRowCell
(<View>
)tableRowLast
(<View>
, inherits fromtableRow
)text
(<Text>
) - Inherited by all text based elementsu
(<View>
)url
(<Text>
)view
(<View>
) - This is the containerView
that the Markdown is rendered in.