tslint-react: jsx-wrap-multiline false positives
I think the case below should not cause error:
https://github.com/ant-design/ant-design-mobile/blob/master/components/accordion/demo/basic.tsx#L13
components/accordion/demo/basic.tsx[13, 9]: Multiline JSX elements must be wrapped in parentheses
// bad
const button = <button type="submit">
Submit
</button>;
// good
const button = (
<button type="submit">
Submit
</button>
);
// why this is bad ? any reason we need wrap inner button with parentheses?
const button = (
<div>
<button type="submit">
Submit
</button>
<div>
);
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 15 (7 by maintainers)
Another repro using React 16.2:
more false positives I’ve found:
Problem is that the 4.0.0 release of tslint-react no longer permits the standard prettier formatting for the reactDom.render() example, whereas they worked fine together in tslint-react 3.6.0.
Prettier removes any brackets around the JSX in the first parameter for reactDom.render, so it is not possible for:
to be written as
when using prettier like tslint 4.0.0 now wants it to be. Can whatever was changed between those two versions for this particular rule & case please be reverted?
the array false positive @adidahiya mentioned above has forced me to disable this rule… we use that pattern everywhere.
Here’s the code that throws false positive
jsx-wrap-multilinefor me.tslint-react had this rule before prettier was widely used in the typescript ecosystem and before we started using prettier in Palantir projects. all the code formatting rules in tslint & tslint-react are “legacy” rules in that sense; they are not guaranteed to play nicely with prettier. if you use tslint-config-prettier (the recommended configuration approach), you should have all formatting rules disabled in favor of prettier.