Performant and comparitively light copy to clipboard component for react based applications
npm install react-c2c
> Performant and lightweight copy 2 clipboard component for react applications.
##### Featured in:
- React Status
- Hashbang Weekly
- Stackshare
- Can be easily integrated.
- Just ~ 1.4kb.
- No dependencies.
- Flexible (Uses render prop pattern)
- Configurable for debugging(through logs).
react-copy-to-clipboard: 1.7 kB``sh`
npm install --save react-c2c`sh`
yarn add react-c2c
https://codesandbox.io/s/j314vk3r73
js
import React from 'react';
import ReactDOM from 'react-dom';
import {C2C} from 'react-c2c';class App extends React.Component {
constructor(props) {
super(props);
this.state = {
value: '',
}
}
render() {
return (
onChange={({target: {value}}) => this.setState({value, copied: false})} /> text={this.state.value}
render={({ copied, handleClick }) =>
copied
? Copied !
:
}
/>
);
}
}const container = document.createElement('div');
document.body.appendChild(container);
ReactDOM.render( , container);
`
props
####
text: PropTypes.string.isRequiredText to be copied to clipboard.
####
render: PropTypes.funcRender prop, pass a function that accepts an object with two keys,
handleClick and copied.*
handleClick should be called when you want copy event to be triggered. This should usually be assigned to an onClick event as browsers require user action for copy to work.*
copied would be true in case of successful copying.####
children: PropTypes.funcYou can also use children as a function pattern. The signature of this function is identical to that of render prop.
NOTE: Either one of
render or children props is required and must be of type function.####
options: PropTypes.shape({debug: bool})Flag that enables logs for debugging.
`js
{({ copied, handleClick }) =>
copied
? Copied !
:
}
``react-c2c is completely free and open-source. If you find it useful, you can show your support by 🌟 it or sharing it in your social network.
Please do 🙂
MIT © Solodynamo