此 swc 插件用于为符合条件的 jsx element 注入参数。
babel 版本 UNDERCOVERj/babel-plugins
单个组件可以注入多个属性,默认前置追加,也可以通过配置 rule: append
追加到尾部。
json
{
"@fixture/my-components": {
"Button": [{ "name": "type", "value": "primary" }],
"Link": [{ "name": "type", "rule": "append", "value": "primary" }]
}
}
```diff import { Button, Link } from "@fixture/my-components";
export function MyPage() { return ( <> - + - + > ); } ```
json
{
"@fixture/my-components": {
"Dropdown.Link": [{ "name": "type", "value": "primary" }]
}
}
```diff import { Dropdown, Noop } from "@fixture/my-components"; import * as components from "@fixture/my-components";
export function MyPage() {
return (
<>
json
{
"@fixture/my-components": {
"Button": [{ "name": "type", "value": "primary" }],
"Link": [{ "name": "type", "value": "primary" }]
}
}
```diff import { Button } from "@fixture/another-components"; import { Button as MyButton, Link } from "@fixture/my-components";
export function MyPage() {
return (
<>
-
+
-
export function createPage() { function Link() { return null; }
return () => (
<>
<Link />
<Button />
</>
);
} ```