jsx-eslint/eslint-plugin-react

jsx-indent rule with ternary operators on multiple lines and JSX elements

Open

#454 opened on Feb 18, 2016

 (29 comments) (16 reactions) (0 assignees)JavaScript (2,731 forks)batch import
help wanted

Repository metrics

Stars
 (9,293 stars)
PR merge metrics
 (PR metrics pending)

Description

This code

const foo = bar
    ? (
        <p>
            {'Bar is true!'}
        </p>
    )
    : (
        <p>
            {'Bar is false!'}
        </p>
    );

violates the jsx-indent rule on the lines with the <p> opening tags, saying that everything should be brought one level back.

I use a lot this syntax, especially when I have to render one complex component or another according to a boolean variable, and I can't seem to find a workaround to avoid the linting error (apart from not using the ternary operator, which I don't like).

Contributor guide