Skip to content

Commit 45a2c99

Browse files
committed
fix: fix props update issue.
1 parent 9d403e2 commit 45a2c99

File tree

7 files changed

+44
-0
lines changed

7 files changed

+44
-0
lines changed

core/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,25 @@ export default function Demo() {
123123
}
124124
```
125125

126+
```jsx mdx:preview
127+
import React from 'react';
128+
import Npm from '@uiw/react-shields/npm';
129+
130+
export default function Demo() {
131+
const [scope, setScope] = React.useState('@uiw');
132+
const [packageName, setPackageName] = React.useState('react-shields');
133+
return (
134+
<>
135+
<Npm.Size scope={scope} packageName={packageName} />
136+
<div>
137+
<button onClick={() => setPackageName('react-shields')}>react-shields</button>
138+
<button onClick={() => setPackageName('react-codemirror')}>react-codemirror</button>
139+
</div>
140+
</>
141+
);
142+
}
143+
```
144+
126145
### Npm.Downloads
127146

128147
```jsx mdx:preview

core/src/common/Base.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ export default class Base<T> extends Component<BaseProps & T, BaseState & T> {
2121
super(props);
2222
this.state = Object.assign({}, { ...defaultState, ...props }, forceState);
2323
}
24+
componentDidUpdate(prevProps: Readonly<BaseProps & T>, prevState: Readonly<BaseState & T>, snapshot?: any): void {
25+
if (prevProps !== this.props) {
26+
this.setState({ ...this.state, ...this.props });
27+
}
28+
}
2429
getUrl = () => '';
2530
render() {
2631
const { href } = this.state;

core/src/coverages/Codacy.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ export interface CodacyProps extends BaseProps {
1515
}
1616

1717
export default class Codacy extends Base<CodacyProps> {
18+
static defaultProps: BaseProps = {
19+
platform: 'coveralls',
20+
base: 'https://img.shields.io',
21+
};
1822
constructor(props: CodacyProps) {
1923
super(props, {}, { platform: 'coveralls' });
2024
}

core/src/coverages/Coverages.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ export interface CoveragesProps extends BaseProps {
2121
}
2222

2323
export default class Coverages extends Base<CoveragesProps> {
24+
static defaultProps: BaseProps = {
25+
platform: 'coveralls',
26+
base: 'https://img.shields.io',
27+
};
2428
constructor(props: CoveragesProps) {
2529
super(props, { type: 'github' }, { platform: 'coveralls' });
2630
}

core/src/npm/Downloads.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ export interface DownloadProps extends BaseProps {
1717
*
1818
*/
1919
export default class Downloads extends Base<DownloadProps> {
20+
static defaultProps: BaseProps = {
21+
platform: 'npm',
22+
base: 'https://img.shields.io',
23+
};
2024
constructor(props: DownloadProps) {
2125
super(props, { interval: 'dm' }, { platform: 'npm' });
2226
}

core/src/npm/Size.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ export interface SizeProps extends BaseProps {
2424
*
2525
*/
2626
export default class Size extends Base<SizeProps> {
27+
static defaultProps: BaseProps = {
28+
platform: 'npm',
29+
base: 'https://img.shields.io',
30+
};
2731
constructor(props: SizeProps) {
2832
super(props, { format: 'min' }, { platform: 'npm' });
2933
}

core/src/npm/Version.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ export interface VersionProps extends BaseProps {
5050
}
5151

5252
export default class Version extends Base<VersionProps> {
53+
static defaultProps: BaseProps = {
54+
platform: 'npm',
55+
base: 'https://img.shields.io',
56+
};
5357
constructor(props: VersionProps) {
5458
super(props, { type: 'version' }, { platform: 'npm' });
5559
}

0 commit comments

Comments
 (0)