Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 6x 130x 130x 130x 3x 1x 3x 130x 130x 6x | import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import { NavLink } from 'react-router-dom'; const Link = props => { const { className, innerRef, active, href, onClick, disabled, ...rest } = props; const to = rest.to ? rest.to : null; const click = e => { if ((!href && !to) || href === '#') { e.preventDefault() } !disabled && onClick && onClick(e) }; const classes = classNames( active, disabled, className ); return to ? ( <NavLink {...rest} className={classes} onClick={click} ref={innerRef} /> ) : ( <a href={href || '#'} className={classes} rel={rest.target === '_blank' ? 'noopener norefferer' : null} {...rest} onClick={click} ref={innerRef} /> ) } Link.propTypes = { innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]), active: PropTypes.bool, href: PropTypes.string, onClick: PropTypes.func, disabled: PropTypes.bool, ...NavLink.propTypes, className: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]), to: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.func]) }; export default Link; |