import React, { Component } from 'react'; import { Text } from 'recharts'; class TextDemo extends Component { state = { exampleText: 'This is really long text', x: 0, y: 0, width: 300, height: 200, angle: 0, scaleToFit: false, textAnchor: 'start', verticalAnchor: 'start', fontSize: '1em', fontFamily: 'Arial', lineHeight: '1em', showAnchor: true, resizeSvg: true, }; render() { const styles = { exampleText: { width: 200, }, range: { marginLeft: 25, width: 275, }, svg: { height: 200, display: 'block', border: '1px solid #aaa', marginBottom: 10, }, }; return (

Demo

{this.state.exampleText} { this.state.showAnchor && }
text: this.setState({ exampleText: e.target.value })} />
x: this.setState({ x: Number(e.target.value) })} /> y: this.setState({ y: Number(e.target.value) })} />
width: this.setState({ width: Number(e.target.value) })} /> {this.state.width}
textAnchor:
verticalAnchor:
fontSize: this.setState({ fontSize: e.target.value })} />
fontFamily: this.setState({ fontFamily: e.target.value })} />
lineHeight: this.setState({ lineHeight: e.target.value })} />
angle: this.setState({ angle: Number(e.target.value) })} />

Simple

{this.state.exampleText}

Centered

{this.state.exampleText}

Right-aligned

{this.state.exampleText}

Line height

{this.state.exampleText}

Styled text (fontWeight)

{this.state.exampleText}

Styled (fontSize px)

{this.state.exampleText}

Styled (fontSize em)

{this.state.exampleText}

Styled (fontSize rem)

{this.state.exampleText}

Styled (fontSize %)

{this.state.exampleText}

Fit

{this.state.exampleText}

dx && dy

{this.state.exampleText}

Event Handler

{ /* eslint-disable no-alert */} window.alert('You clicked a Text Element')}> Click me! { /* eslint-enable no-alert */}
); } } export default TextDemo;