In order to conditionally render an element please use the logical AND && or a ternary operator, returning falsy value (null, false, undefined, etc.) when the condition is not met. React won't render nulls, undefined values, and false booleans.
fakeAuth.isAuthenticated != true ? (
<Redirect to={{
pathname: '/signIn',
state: { from: props.location }
}}/>
) : null
If you just want to render an element or not - then use {condition && <Element />} syntax, or when you want to render different components based on some condition then use ternary: {condition ? <ElementA /> : <ElementB />}.
const Redirect = () => <div>Redirect</div>
const TernaryExample = ({fakeAuth}) =>
<div>
{
fakeAuth.isAuthenticated != true ? (
<Redirect />
) : null
}
</div>
const AndExample = ({fakeAuth}) =>
<div>
{
!fakeAuth.isAuthenticated && <Redirect />
}
</div>
const Examples = ({fakeAuth}) =>
<div>
<AndExample fakeAuth={fakeAuth} />
<TernaryExample fakeAuth={fakeAuth} />
</div>
ReactDOM.render(
<Examples
fakeAuth={{isAuthenticated: false}}
/>,
document.getElementById('app')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app" />