Skip to content

Commit 748b2d0

Browse files
JakubRimalnecolas
authored andcommitted
[fix] Image 'source' prop update when missing in initial render
Close #811
1 parent fb4635e commit 748b2d0

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

Diff for: packages/react-native-web/src/exports/Image/__tests__/index-test.js

+14
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,20 @@ describe('components/Image', () => {
180180
.attr('src')
181181
).toBe(uriTwo);
182182
});
183+
184+
test('is correctly updated when missing in initial render', () => {
185+
jest.useFakeTimers();
186+
const uri = 'https://testing.com/img.jpg';
187+
const component = mount(<Image />);
188+
component.setProps({ source: { uri } });
189+
jest.runOnlyPendingTimers();
190+
expect(
191+
component
192+
.render()
193+
.find('img')
194+
.attr('src')
195+
).toBe(uri);
196+
});
183197
});
184198

185199
describe('prop "style"', () => {

Diff for: packages/react-native-web/src/exports/Image/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ class Image extends Component<*, State> {
168168
if (uri !== nextUri) {
169169
ImageUriCache.remove(uri);
170170
const isPreviouslyLoaded = ImageUriCache.has(nextUri);
171-
isPreviouslyLoaded && ImageUriCache.add(uri);
172-
this._updateImageState(getImageState(uri, isPreviouslyLoaded));
171+
isPreviouslyLoaded && ImageUriCache.add(nextUri);
172+
this._updateImageState(getImageState(nextUri, isPreviouslyLoaded));
173173
}
174174
}
175175

0 commit comments

Comments
 (0)