Currently i am exporting only one funtin like this and it works great
import React from "react"; import SocialLogin from "from somewwhere"; class GoogleButton extends React.Component { render() { const { fontClass, triggerLogin, ...props } = this.props; return ( <div className=""> Google </div> ); } } export default SocialLogin(GoogleButton);
But when I try to export multiple functions, it doesn’t work.
import React from "react"; import SocialLogin from "from somewhere"; class GoogleButton extends React.Component { render() { const { fontClass, triggerLogin, ...props } = this.props; return ( <div className=""> Google </div> ); } } class FacebookButton extends React.Component { render() { const { fontClass, triggerLogin, ...props } = this.props; return ( <div className=""> Facebook </div> ); } } export { SocialLogin(GoogleButton), SocialLogin(FacebookButton); }
Can anyone tell me why it doesnt work? It works when i do like this
export { SomeFunc, AnotherFun, }
But what’s wrong with it if i put it inside a functin? Can anyone tell me how can i do it?
Advertisement
Answer
You cam simply do this.
import React from "react"; import SocialLogin from "from somewhere"; export class GoogleButton extends React.Component { render() { const { fontClass, triggerLogin, ...props } = this.props; return ( <div className=""> Google </div> ); } } export class FacebookButton extends React.Component { render() { const { fontClass, triggerLogin, ...props } = this.props; return ( <div className=""> Facebook </div> ); } }
Or you can do this.
.... Existing components export default { SocialLoginGoogle: SocialLogin(GoogleButton), SocialLoginFacebook: SocialLogin(FacebookButton) }
The below one works as it is considering object’s key
and value
has the same name. Hence, shorthand.
export { SomeFunc, AnotherFun, }