fix(jsx): prevent bootstrap from injecting props to react primitive

This commit is contained in:
Berkeley Martinez
2016-10-27 16:32:13 -07:00
committed by Stuart Taylor
parent 484dc743dc
commit 675438b075
2 changed files with 23 additions and 8 deletions

View File

@ -11,6 +11,7 @@ import {
import navLinks from './links.json'; import navLinks from './links.json';
import AvatarPointsNavItem from './Avatar-Points-Nav-Item.jsx'; import AvatarPointsNavItem from './Avatar-Points-Nav-Item.jsx';
import NoPropsPassthrough from '../../utils/No-Props-Passthrough.jsx';
const fCClogo = 'https://s3.amazonaws.com/freecodecamp/freecodecamp_logo.svg'; const fCClogo = 'https://s3.amazonaws.com/freecodecamp/freecodecamp_logo.svg';
@ -82,6 +83,7 @@ export default class extends React.Component {
renderMapLink(isOnMap, toggleMapDrawer) { renderMapLink(isOnMap, toggleMapDrawer) {
if (isOnMap) { if (isOnMap) {
return ( return (
<NoPropsPassthrough>
<li role='presentation'> <li role='presentation'>
<a <a
href='#' href='#'
@ -90,6 +92,7 @@ export default class extends React.Component {
Map Map
</a> </a>
</li> </li>
</NoPropsPassthrough>
); );
} }
return ( return (

View File

@ -0,0 +1,12 @@
import { PropTypes } from 'react';
// use when passing a react primitive element as a child to a
// react-boostrap component that will inject props
// using cloneElement
export default function NoPropsPassthrough({ children }) {
return children;
}
NoPropsPassthrough.propTypes = {
children: PropTypes.element
};