npm.io
1.1.5 • Published 7 years ago

react-innertext

Licence
MIT
Version
1.1.5
Deps
0
Size
5 kB
Vulns
0
Weekly
0
Stars
53

React innerText Tweet version minzipped size downloads build

Returns the innerText of a React JSX object, similar to the innerText property of DOM elements.

Install

  • npm install react-innertext or
  • yarn add react-innertext

Use

Client-Side Rendering (ES6)
import innerText from 'react-innertext';
innerText(
  <div>
    Hello <strong>world</strong>!
    I am <span children={3} /> years old!
  </div>
) // 'Hello world! I am 3 years old!'
Server-Side Rendering (CommonJS)
const innerText = require('react-innertext');
innerText(
  <div>
    Hello <strong>world</strong>!
    I am <span children={3} /> years old!
  </div>
) // 'Hello world! I am 3 years old!'
Real World Example

In the below example, the title attribute of the <th> element sanitizes the children prop. This allows the children to contain HTML or other React Elements, while providing a safe, plain text string for the title.

function MyTableHeader() {
  return (
    <thead>
      <tr>
        <MyTableHeaderCell>
          <b>Username</b>
          <SortButton />
        </MyTableHeader>
      </tr>
    </thead>
  );
}

// title="Username"
function MyTableHeaderCell({ children }) {
  return (
    <th
      children={children}
      title={innerText(children)}
    />
  );
}

Keywords