summaryrefslogtreecommitdiffstats
path: root/src/TextareaAutosize.js
diff options
context:
space:
mode:
authorRadu-Sebastian Amarie <radu@findie.me>2016-11-17 19:57:55 +0200
committerRadu-Sebastian Amarie <radu@findie.me>2016-11-17 19:57:55 +0200
commit329c3d49d0c79dbe2a53eeefd17b90c80cc9242d (patch)
treeab3ddde2cdcd44243136fd4babb0d90fac61dcf7 /src/TextareaAutosize.js
parent45859a32008fc5a5bb9a6c4dec4818a2bbfa7ba9 (diff)
downloadreact-autosize-textarea-329c3d49d0c79dbe2a53eeefd17b90c80cc9242d.zip
react-autosize-textarea-329c3d49d0c79dbe2a53eeefd17b90c80cc9242d.tar.gz
react-autosize-textarea-329c3d49d0c79dbe2a53eeefd17b90c80cc9242d.tar.bz2
FIX: Ref issue & Compatibility with React 15.4.0
PURGE: getTextareaDOMNode
Diffstat (limited to 'src/TextareaAutosize.js')
-rw-r--r--src/TextareaAutosize.js16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/TextareaAutosize.js b/src/TextareaAutosize.js
index b96bb63..45ebdf1 100644
--- a/src/TextareaAutosize.js
+++ b/src/TextareaAutosize.js
@@ -22,22 +22,16 @@ export default class TextareaAutosize extends React.Component {
rows: 1
};
- getTextareaDOMNode = () => (
- this.refs.textarea.nodeType === 1 ?
- this.refs.textarea :
- ReactDOM.findDOMNode(this.refs.textarea)
- );
-
componentDidMount() {
- autosize(this.getTextareaDOMNode());
+ autosize(this.textarea);
if (this.props.onResize) {
- this.getTextareaDOMNode().addEventListener(RESIZED, this.props.onResize);
+ this.textarea.addEventListener(RESIZED, this.props.onResize);
}
}
componentWillUnmount() {
if (this.props.onResize) {
- this.getTextareaDOMNode().removeEventListener(RESIZED, this.props.onResize);
+ this.textarea.removeEventListener(RESIZED, this.props.onResize);
}
this.dispatchEvent(DESTROY);
}
@@ -45,7 +39,7 @@ export default class TextareaAutosize extends React.Component {
dispatchEvent = (EVENT_TYPE, defer) => {
const event = document.createEvent('Event');
event.initEvent(EVENT_TYPE, true, false);
- const dispatch = () => this.getTextareaDOMNode().dispatchEvent(event);
+ const dispatch = () => this.textarea.dispatchEvent(event);
if (defer) {
setTimeout(dispatch);
} else {
@@ -58,7 +52,7 @@ export default class TextareaAutosize extends React.Component {
render() {
const { children, onResize, ...props } = this.props; // eslint-disable-line no-unused-vars
return (
- <textarea {...props} ref='textarea'>
+ <textarea {...props} ref={ref => this.textarea = ref}>
{children}
</textarea>
);