Skip to content

Commit 002a01e

Browse files
committed
feat: Add unique key on element to against user switch name
1 parent 209cfd0 commit 002a01e

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

snapshots/demo-js/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ import IconSetup from './IconSetup';
99
const IconFont = ({ name, ...rest }) => {
1010
switch (name) {
1111
case 'alipay':
12-
return <IconAlipay {...rest} />;
12+
return <IconAlipay key="1" {...rest} />;
1313
case 'user':
14-
return <IconUser {...rest} />;
14+
return <IconUser key="2" {...rest} />;
1515
case 'setup':
16-
return <IconSetup {...rest} />;
16+
return <IconSetup key="3" {...rest} />;
1717
}
1818

1919
return null;

snapshots/demo-ts/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ interface Props extends GProps, ViewProps {
1919
const IconFont: FunctionComponent<Props> = ({ name, ...rest }) => {
2020
switch (name) {
2121
case 'alipay':
22-
return <IconAlipay {...rest} />;
22+
return <IconAlipay key="1" {...rest} />;
2323
case 'user':
24-
return <IconUser {...rest} />;
24+
return <IconUser key="2" {...rest} />;
2525
case 'setup':
26-
return <IconSetup {...rest} />;
26+
return <IconSetup key="3" {...rest} />;
2727
}
2828

2929
return null;

src/libs/generateComponent.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export const generateComponent = (data: XmlData, config: Config) => {
4848
copyTemplate('helper.d.ts', path.join(saveDir, 'helper.d.ts'));
4949
}
5050

51-
data.svg.symbol.forEach((item) => {
51+
data.svg.symbol.forEach((item, index) => {
5252
let singleFile: string;
5353
const currentSvgComponents = new Set<string>(['Svg']);
5454
const iconId = item.$.id;
@@ -79,7 +79,7 @@ export const generateComponent = (data: XmlData, config: Config) => {
7979
cases += `${whitespace(4)}case '${iconIdAfterTrim}':\n`;
8080

8181
imports.push(componentName);
82-
cases += `${whitespace(6)}return <${componentName} {...rest} />;\n`;
82+
cases += `${whitespace(6)}return <${componentName} key="${index + 1}" {...rest} />;\n`;
8383

8484
singleFile = getTemplate('SingleIcon' + jsxExtension);
8585
singleFile = replaceSize(singleFile, config.default_icon_size);

0 commit comments

Comments
 (0)