1 | /**
|
2 | * This source code is quoted from rc-tabs.
|
3 | * homepage: https://github.com/react-component/tabs
|
4 | */
|
5 | import React from 'react';
|
6 | import PropTypes from 'prop-types';
|
7 |
|
8 | export default class SaveRef extends React.Component {
|
9 | getRef = (name) => {
|
10 | return this[name];
|
11 | }
|
12 |
|
13 | saveRef = (name) => {
|
14 | return (node) => {
|
15 | if (node) {
|
16 | this[name] = node;
|
17 | }
|
18 | };
|
19 | }
|
20 |
|
21 | render() {
|
22 | return this.props.children(this.saveRef, this.getRef);
|
23 | }
|
24 | }
|
25 |
|
26 | SaveRef.propTypes = {
|
27 | children: PropTypes.func,
|
28 | };
|
29 |
|
30 | SaveRef.defaultProps = {
|
31 | children: () => null,
|
32 | };
|