Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ESLint: Unexpected block statement surrounding arrow body. (arrow-body-style)

This rule, triggered by the below snippet of code, is most confusing (to me - and others it appears). If I remove the curlies, it breaks. If I add parens around the block, it breaks. What to do?

const MainLayout = (props) => {
  return (
    <div className="main">
      <Header />
      <Navbar />
      <Content>
        {props.children}
      </Content>
      <Footer />
    </div>
  );
};

This is ESLint v4.13.1

like image 333
maasha Avatar asked Dec 03 '25 09:12

maasha


2 Answers

if you're just returning a value immediately, you don't need a return statement in an arrow function. Just put the value directly after the arrow.

And when there's just a single argument, you don't need parentheses around the argument list.

const MainLayout = props => (
    <div className="main">
      <Header />
      <Navbar />
      <Content>
        {props.children}
      </Content>
      <Footer />
    </div>
  );
like image 109
Barmar Avatar answered Dec 04 '25 22:12

Barmar


you don't need retun just add ( instead of { . Like this...

const Card = props => (
  <View style={styles.containerStyle}>{props.children}</View>
);
like image 32
Abdul Moiz Avatar answered Dec 04 '25 22:12

Abdul Moiz



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!