rn-linked-text

1.4.0 • Public • Published

React Native LinkedText Component

LinkedText component for React Native (support for Android adn iOS). Provides component to render nested, styleable and clickable links within native Text component.

Component's API

LinkedText component API is compatible with native Text API.

Prop Type Default Note
linkStyle Object Style of the links rendered in text.
onLinkPress Function Callback method called whenever any of the links is pressed. Method is called with the object containing all the keys and values provided in the link data.
children string '' Content to render in the component.
style Object

Usage

If you want to add link in the LinkedText component you need to provide string with following pattern:

{name=<VALUE>,<KEY1>=<VALUE>,<KEY1>=<VALUE>}

name key is mandatory as this is the text of displayed link. Any other key-value pair is optional.

Please note that if you want to pass a raw string into LinkedText component you need to wrap it in curly brackets and string quotes. Otherwise the JSX compiler will complain. It's not needed when passing a string variable.

import React, { Component } from 'react'
import { StyleSheet } from 'react-native'
import LinkedText from 'rn-linked-text'

const styles = StyleSheet.create({
  text: {
    color: '#cccccc'
  },
  link: {
    color: '#ff0000',
    fontWeight: '500'
  }
})

class PrivacyTerms extends Component {
  
  onLinkPress = (linkData) => {
    console.log(linkData)
    /**
      If you click first link in this example linkData 
      object will contain:
      {
        name: "Terms of Use",
        url: "https://example.com/termsofuse",
        something: "hello"
      }
    */
  }

  render() {
    return (<LinkedText style={styles.text} linkStyle={styles.link} onLinkPress={onLinkPress}>
            {"I have read the {name=Terms of Use,url=https://example.com/termsofuse,something=hello} and the {name=Privacy Policy,url=https://example.com/privacypolicy}. I agree with the validity of the Terms of Use."}
          </LinkedText>)
  }
}

export default PrivacyTerms

Readme

Keywords

Package Sidebar

Install

npm i rn-linked-text

Weekly Downloads

0

Version

1.4.0

License

MIT

Last publish

Collaborators

  • lukaleli