Ensure we don't clobber multiple source container state updates

This commit is contained in:
Tom Coleman 2021-09-14 20:54:00 +10:00
parent a3089466e5
commit dd0821c491

View File

@ -21,11 +21,14 @@ export const SourceContainer: FC<{}> = ({ children }) => {
useEffect(() => {
const handleSnippetRendered = (id: StoryId, newItem: SourceItem) => {
if (newItem !== sources[id]) {
const newSources = { ...sources, [id]: newItem };
setSources((current) => {
const newSources = { ...current, [id]: newItem };
if (!deepEqual(sources, newSources)) {
setSources(newSources);
}
if (!deepEqual(current, newSources)) {
return newSources;
}
return current;
});
}
};