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 | 19x | import React from 'react'; import invariant from 'tiny-invariant'; import AuthContext from './AuthContext'; const withAuth = (Component) => { const displayName = `withAuth(${Component.displayName || Component.name})`; const C = (props) => { return ( <AuthContext.Consumer> {(context) => { invariant( context, `You should not use <${displayName} /> outside a <Auth>` ); return <Component {...props} {...context} />; }} </AuthContext.Consumer> ); }; C.displayName = displayName; return C; } export default withAuth; |