0.3.0 • Published 8 months ago
swc-plugin-jsx-control-statements-v2 v0.3.0
🦀 JSX control statements for swc
Original idea: babel-plugin-jsx-control-statements
Installation
pnpm (recommended):
pnpm i -D swc-plugin-jsx-control-statements
or yarn
yarn add -D swc-plugin-jsx-control-statements
Configure swc
In your SWC config, you have to add to jsc.experimental.plugins
- ['swc-plugin-jsx-control-statements', {}]
, like in the following code:
jsc: {
experimental: {
plugins: [
['swc-plugin-jsx-control-statements', {}],
],
},
},
Usage
<If>
tag
import React from 'react';
const Greeting = () => {
const [closed, setClosed] = useState(false);
return (
<>
<If condition={!closed}>
Hello,
</If>
World
<If condition={!closed}>
<button onClick={() => setClosed(true)}>Close</button>
</If>
</>
)
};
<Choose>
tag (if - else if - else condition)
import React from 'react';
const Greeting = () => {
const [closed, setClosed] = useState(false);
return (
<>
<Choose>
<When condition={!closed}>
Hello,
</When>
<Otherwise>
Bye,
</Otherwise>
</Choose>
World
<If condition={!closed}>
<button onClick={() => setClosed(true)}>Close</button>
</If>
</>
)
};
TODO:
- Support
<For />
tag
0.3.0
8 months ago